fix application bug

This commit is contained in:
Jeff
2019-05-13 11:19:18 +08:00
committed by zryfish
parent 996d6fe4c5
commit 5462f51e65
717 changed files with 87703 additions and 53426 deletions

View File

@@ -16,8 +16,8 @@ import (
quic "github.com/lucas-clemente/quic-go"
"github.com/lucas-clemente/quic-go/internal/protocol"
"github.com/lucas-clemente/quic-go/internal/qerr"
"github.com/lucas-clemente/quic-go/internal/utils"
"github.com/lucas-clemente/quic-go/qerr"
)
type roundTripperOpts struct {
@@ -52,10 +52,7 @@ type client struct {
var _ http.RoundTripper = &client{}
var defaultQuicConfig = &quic.Config{
RequestConnectionIDOmission: true,
KeepAlive: true,
}
var defaultQuicConfig = &quic.Config{KeepAlive: true}
// newClient creates a new client
func newClient(
@@ -94,7 +91,7 @@ func (c *client) dial() error {
}
// once the version has been negotiated, open the header stream
c.headerStream, err = c.session.OpenStream()
c.headerStream, err = c.session.OpenStreamSync()
if err != nil {
return err
}
@@ -111,10 +108,10 @@ func (c *client) handleHeaderStream() {
for err == nil {
err = c.readResponse(h2framer, decoder)
}
if quicErr, ok := err.(*qerr.QuicError); !ok || quicErr.ErrorCode != qerr.PeerGoingAway {
if quicErr, ok := err.(*qerr.QuicError); !ok || quicErr.ErrorCode != qerr.NoError {
c.logger.Debugf("Error handling header stream: %s", err)
}
c.headerErr = qerr.Error(qerr.InvalidHeadersStreamData, err.Error())
c.headerErr = qerr.Error(qerr.InternalError, err.Error())
// stop all running request
close(c.headerErrored)
}
@@ -244,7 +241,7 @@ func (c *client) RoundTrip(req *http.Request) (*http.Response, error) {
if streamEnded || isHead {
res.Body = noBody
} else {
res.Body = dataStream
res.Body = &responseBody{dataStream}
if requestedGzip && res.Header.Get("Content-Encoding") == "gzip" {
res.Header.Del("Content-Encoding")
res.Header.Del("Content-Length")