From bbeea8dca004087b74c5510a8eb5046a497a613d Mon Sep 17 00:00:00 2001 From: mstmdev Date: Tue, 24 Jan 2023 09:48:35 +0800 Subject: [PATCH] http3: use HTTP/2 as the default protocol in ListenAndServe (#3673) --- http3/server.go | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/http3/server.go b/http3/server.go index 1bab3ea1..26910d62 100644 --- a/http3/server.go +++ b/http3/server.go @@ -720,19 +720,6 @@ func ListenAndServe(addr, certFile, keyFile string, handler http.Handler) error } defer udpConn.Close() - tcpAddr, err := net.ResolveTCPAddr("tcp", addr) - if err != nil { - return err - } - tcpConn, err := net.ListenTCP("tcp", tcpAddr) - if err != nil { - return err - } - defer tcpConn.Close() - - tlsConn := tls.NewListener(tcpConn, config) - defer tlsConn.Close() - if handler == nil { handler = http.DefaultServeMux } @@ -741,17 +728,14 @@ func ListenAndServe(addr, certFile, keyFile string, handler http.Handler) error TLSConfig: config, Handler: handler, } - httpServer := &http.Server{ - Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - quicServer.SetQuicHeaders(w.Header()) - handler.ServeHTTP(w, r) - }), - } hErr := make(chan error) qErr := make(chan error) go func() { - hErr <- httpServer.Serve(tlsConn) + hErr <- http.ListenAndServeTLS(addr, certFile, keyFile, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + quicServer.SetQuicHeaders(w.Header()) + handler.ServeHTTP(w, r) + })) }() go func() { qErr <- quicServer.Serve(udpConn)