forked from quic-go/quic-go
make ConnectionState usable during the handshake
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package http3
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
"errors"
|
||||
"net/http"
|
||||
"net/url"
|
||||
@@ -101,7 +100,6 @@ func requestFromHeaders(headers []qpack.HeaderField) (*http.Request, error) {
|
||||
ContentLength: contentLength,
|
||||
Host: authority,
|
||||
RequestURI: requestURI,
|
||||
TLS: &tls.ConnectionState{},
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,6 @@ var _ = Describe("Request", func() {
|
||||
Expect(req.Body).To(BeNil())
|
||||
Expect(req.Host).To(Equal("quic.clemente.io"))
|
||||
Expect(req.RequestURI).To(Equal("/foo"))
|
||||
Expect(req.TLS).ToNot(BeNil())
|
||||
})
|
||||
|
||||
It("parses path with leading double slashes", func() {
|
||||
|
||||
@@ -272,7 +272,7 @@ func (s *Server) serveConn(tlsConf *tls.Config, conn net.PacketConn) error {
|
||||
baseConf := ConfigureTLSConfig(tlsConf)
|
||||
quicConf := s.QuicConfig
|
||||
if quicConf == nil {
|
||||
quicConf = &quic.Config{}
|
||||
quicConf = &quic.Config{Allow0RTT: func(net.Addr) bool { return true }}
|
||||
} else {
|
||||
quicConf = s.QuicConfig.Clone()
|
||||
}
|
||||
@@ -570,6 +570,8 @@ func (s *Server) handleRequest(conn quic.Connection, str quic.Stream, decoder *q
|
||||
return newStreamError(errorGeneralProtocolError, err)
|
||||
}
|
||||
|
||||
connState := conn.ConnectionState().TLS.ConnectionState
|
||||
req.TLS = &connState
|
||||
req.RemoteAddr = conn.RemoteAddr().String()
|
||||
body := newRequestBody(newStream(str, onFrameError))
|
||||
req.Body = body
|
||||
|
||||
@@ -163,6 +163,7 @@ var _ = Describe("Server", func() {
|
||||
addr := &net.UDPAddr{IP: net.IPv4(127, 0, 0, 1), Port: 1337}
|
||||
conn.EXPECT().RemoteAddr().Return(addr).AnyTimes()
|
||||
conn.EXPECT().LocalAddr().AnyTimes()
|
||||
conn.EXPECT().ConnectionState().Return(quic.ConnectionState{}).AnyTimes()
|
||||
})
|
||||
|
||||
It("calls the HTTP handler function", func() {
|
||||
@@ -632,6 +633,7 @@ var _ = Describe("Server", func() {
|
||||
conn.EXPECT().AcceptStream(gomock.Any()).Return(nil, errors.New("done"))
|
||||
conn.EXPECT().RemoteAddr().Return(addr).AnyTimes()
|
||||
conn.EXPECT().LocalAddr().AnyTimes()
|
||||
conn.EXPECT().ConnectionState().Return(quic.ConnectionState{}).AnyTimes()
|
||||
})
|
||||
|
||||
AfterEach(func() { testDone <- struct{}{} })
|
||||
|
||||
Reference in New Issue
Block a user