diff --git a/h2mux/error.go b/h2mux/error.go index 4a95bab9..467e99da 100644 --- a/h2mux/error.go +++ b/h2mux/error.go @@ -20,10 +20,11 @@ var ( ErrUnknownStream = MuxerProtocolError{"2002 unknown stream", http2.ErrCodeProtocol} ErrInvalidStream = MuxerProtocolError{"2003 invalid stream", http2.ErrCodeProtocol} - ErrStreamHeadersSent = MuxerApplicationError{"3000 headers already sent"} - ErrConnectionClosed = MuxerApplicationError{"3001 connection closed"} - ErrConnectionDropped = MuxerApplicationError{"3002 connection dropped"} - ErrOpenStreamTimeout = MuxerApplicationError{"3003 open stream timeout"} + ErrStreamHeadersSent = MuxerApplicationError{"3000 headers already sent"} + ErrConnectionClosed = MuxerApplicationError{"3001 connection closed"} + ErrConnectionDropped = MuxerApplicationError{"3002 connection dropped"} + ErrOpenStreamTimeout = MuxerApplicationError{"3003 open stream timeout"} + ErrResponseHeadersTimeout = MuxerApplicationError{"3004 timeout waiting for initial response headers"} ErrClosedStream = MuxerStreamError{"4000 stream closed", http2.ErrCodeStreamClosed} ) diff --git a/h2mux/h2mux.go b/h2mux/h2mux.go index 65034830..2ac07b62 100644 --- a/h2mux/h2mux.go +++ b/h2mux/h2mux.go @@ -201,9 +201,9 @@ func Handshake( initialStreamWindow: m.config.DefaultWindowSize, streamWindowMax: m.config.MaxWindowSize, streamWriteBufferMaxLen: m.config.StreamWriteBufferMaxLen, - r: m.r, - metricsUpdater: m.muxMetricsUpdater, - bytesRead: inBoundCounter, + r: m.r, + metricsUpdater: m.muxMetricsUpdater, + bytesRead: inBoundCounter, } m.muxWriter = &MuxWriter{ f: m.f, @@ -406,7 +406,7 @@ func (m *Muxer) OpenStream(ctx context.Context, headers []Header, body io.Reader select { case <-ctx.Done(): - return nil, ErrOpenStreamTimeout + return nil, ErrResponseHeadersTimeout case <-m.abortChan: return nil, ErrConnectionClosed case <-stream.responseHeadersReceived: