forked from quic-go/quic-go
http3: use HTTP/2 as the default protocol in ListenAndServe (#3673)
This commit is contained in:
@@ -720,19 +720,6 @@ func ListenAndServe(addr, certFile, keyFile string, handler http.Handler) error
|
|||||||
}
|
}
|
||||||
defer udpConn.Close()
|
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 {
|
if handler == nil {
|
||||||
handler = http.DefaultServeMux
|
handler = http.DefaultServeMux
|
||||||
}
|
}
|
||||||
@@ -741,17 +728,14 @@ func ListenAndServe(addr, certFile, keyFile string, handler http.Handler) error
|
|||||||
TLSConfig: config,
|
TLSConfig: config,
|
||||||
Handler: handler,
|
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)
|
hErr := make(chan error)
|
||||||
qErr := make(chan error)
|
qErr := make(chan error)
|
||||||
go func() {
|
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() {
|
go func() {
|
||||||
qErr <- quicServer.Serve(udpConn)
|
qErr <- quicServer.Serve(udpConn)
|
||||||
|
|||||||
Reference in New Issue
Block a user