mirror of
https://github.com/MetaCubeX/mihomo.git
synced 2025-12-19 16:30:07 +08:00
chore: update http2 using in test
This commit is contained in:
parent
b92b38701c
commit
e1384e86ab
@ -155,9 +155,9 @@ func NewHttpTestTunnel() *TestTunnel {
|
|||||||
io.Copy(io.Discard, r.Body)
|
io.Copy(io.Discard, r.Body)
|
||||||
render.Data(w, r, httpData[:size])
|
render.Data(w, r, httpData[:size])
|
||||||
})
|
})
|
||||||
h2Server := &http.Http2Server{}
|
//h2Server := &http.Http2Server{}
|
||||||
server := http.Server{Handler: r}
|
server := http.Server{Handler: r}
|
||||||
_ = http.Http2ConfigureServer(&server, h2Server)
|
//_ = http.Http2ConfigureServer(&server, h2Server)
|
||||||
go server.Serve(ln)
|
go server.Serve(ln)
|
||||||
testFn := func(t *testing.T, proxy C.ProxyAdapter, proto string, size int) {
|
testFn := func(t *testing.T, proxy C.ProxyAdapter, proto string, size int) {
|
||||||
req, err := http.NewRequest(http.MethodGet, fmt.Sprintf("%s://%s%s?size=%d", proto, remoteAddr, httpPath, size), bytes.NewReader(httpData[:size]))
|
req, err := http.NewRequest(http.MethodGet, fmt.Sprintf("%s://%s%s?size=%d", proto, remoteAddr, httpPath, size), bytes.NewReader(httpData[:size]))
|
||||||
@ -214,6 +214,9 @@ func NewHttpTestTunnel() *TestTunnel {
|
|||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
|
|
||||||
assert.Equal(t, http.StatusOK, resp.StatusCode)
|
assert.Equal(t, http.StatusOK, resp.StatusCode)
|
||||||
|
if proto == "https" { // ensure server using http2
|
||||||
|
assert.Equal(t, 2, resp.ProtoMajor)
|
||||||
|
}
|
||||||
|
|
||||||
data, err := io.ReadAll(resp.Body)
|
data, err := io.ReadAll(resp.Body)
|
||||||
if !assert.NoError(t, err) {
|
if !assert.NoError(t, err) {
|
||||||
@ -282,11 +285,12 @@ func NewHttpTestTunnel() *TestTunnel {
|
|||||||
if err := tlsConn.HandshakeContext(ctx); err != nil {
|
if err := tlsConn.HandshakeContext(ctx); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if tlsConn.ConnectionState().NegotiatedProtocol == http.Http2NextProtoTLS {
|
//if tlsConn.ConnectionState().NegotiatedProtocol == http.Http2NextProtoTLS {
|
||||||
h2Server.ServeConn(tlsConn, &http.Http2ServeConnOpts{BaseConfig: &server})
|
// h2Server.ServeConn(tlsConn, &http.Http2ServeConnOpts{BaseConfig: &server})
|
||||||
} else {
|
//} else {
|
||||||
ln.ch <- tlsConn
|
// ln.ch <- tlsConn
|
||||||
}
|
//}
|
||||||
|
ln.ch <- tlsConn
|
||||||
} else {
|
} else {
|
||||||
ln.ch <- c
|
ln.ch <- c
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user