From fa3c3e8a2977841ca7263b5dff3db96e995536d2 Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Wed, 21 Dec 2022 00:10:14 +0700 Subject: [PATCH] Close http3 roundtripper when error occurred For http3, if the network were down, the quic transport needs to be closed, so the transport can create new connection when network up. --- doh.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doh.go b/doh.go index 511e28c..546f8c7 100644 --- a/doh.go +++ b/doh.go @@ -48,6 +48,9 @@ func (r *dohResolver) Resolve(ctx context.Context, msg *dns.Msg) (*dns.Msg, erro } resp, err := c.Do(req) if err != nil { + if r.isDoH3 { + r.http3RoundTripper.Close() + } return nil, fmt.Errorf("could not perform request: %w", err) } defer resp.Body.Close()