diff --git a/http3/roundtrip.go b/http3/roundtrip.go index ff813536..95506cac 100644 --- a/http3/roundtrip.go +++ b/http3/roundtrip.go @@ -110,6 +110,10 @@ func (r *RoundTripper) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http. closeRequestBody(req) return nil, errors.New("http3: nil Request.URL") } + if req.URL.Scheme != "https" { + closeRequestBody(req) + return nil, fmt.Errorf("http3: unsupported protocol scheme: %s", req.URL.Scheme) + } if req.URL.Host == "" { closeRequestBody(req) return nil, errors.New("http3: no Host in request URL") @@ -118,10 +122,6 @@ func (r *RoundTripper) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http. closeRequestBody(req) return nil, errors.New("http3: nil Request.Header") } - if req.URL.Scheme != "https" { - closeRequestBody(req) - return nil, fmt.Errorf("http3: unsupported protocol scheme: %s", req.URL.Scheme) - } for k, vv := range req.Header { if !httpguts.ValidHeaderFieldName(k) { return nil, fmt.Errorf("http3: invalid http header field name %q", k)