forked from quic-go/quic-go
remove the StreamID method on the HTTP/3 response writer
This commit is contained in:
@@ -13,9 +13,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type responseWriter struct {
|
type responseWriter struct {
|
||||||
conn quic.Connection
|
conn quic.Connection
|
||||||
stream quic.Stream // needed for DataStream()
|
bufferedStr *bufio.Writer
|
||||||
bufferedStream *bufio.Writer
|
|
||||||
|
|
||||||
header http.Header
|
header http.Header
|
||||||
status int // status code passed to WriteHeader
|
status int // status code passed to WriteHeader
|
||||||
@@ -30,13 +29,12 @@ var (
|
|||||||
_ Hijacker = &responseWriter{}
|
_ Hijacker = &responseWriter{}
|
||||||
)
|
)
|
||||||
|
|
||||||
func newResponseWriter(stream quic.Stream, conn quic.Connection, logger utils.Logger) *responseWriter {
|
func newResponseWriter(str quic.Stream, conn quic.Connection, logger utils.Logger) *responseWriter {
|
||||||
return &responseWriter{
|
return &responseWriter{
|
||||||
header: http.Header{},
|
header: http.Header{},
|
||||||
stream: stream,
|
conn: conn,
|
||||||
conn: conn,
|
bufferedStr: bufio.NewWriter(str),
|
||||||
bufferedStream: bufio.NewWriter(stream),
|
logger: logger,
|
||||||
logger: logger,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,10 +65,10 @@ func (w *responseWriter) WriteHeader(status int) {
|
|||||||
buf := &bytes.Buffer{}
|
buf := &bytes.Buffer{}
|
||||||
(&headersFrame{Length: uint64(headers.Len())}).Write(buf)
|
(&headersFrame{Length: uint64(headers.Len())}).Write(buf)
|
||||||
w.logger.Infof("Responding with %d", status)
|
w.logger.Infof("Responding with %d", status)
|
||||||
if _, err := w.bufferedStream.Write(buf.Bytes()); err != nil {
|
if _, err := w.bufferedStr.Write(buf.Bytes()); err != nil {
|
||||||
w.logger.Errorf("could not write headers frame: %s", err.Error())
|
w.logger.Errorf("could not write headers frame: %s", err.Error())
|
||||||
}
|
}
|
||||||
if _, err := w.bufferedStream.Write(headers.Bytes()); err != nil {
|
if _, err := w.bufferedStr.Write(headers.Bytes()); err != nil {
|
||||||
w.logger.Errorf("could not write header frame payload: %s", err.Error())
|
w.logger.Errorf("could not write header frame payload: %s", err.Error())
|
||||||
}
|
}
|
||||||
if !w.headerWritten {
|
if !w.headerWritten {
|
||||||
@@ -88,22 +86,18 @@ func (w *responseWriter) Write(p []byte) (int, error) {
|
|||||||
df := &dataFrame{Length: uint64(len(p))}
|
df := &dataFrame{Length: uint64(len(p))}
|
||||||
buf := &bytes.Buffer{}
|
buf := &bytes.Buffer{}
|
||||||
df.Write(buf)
|
df.Write(buf)
|
||||||
if _, err := w.bufferedStream.Write(buf.Bytes()); err != nil {
|
if _, err := w.bufferedStr.Write(buf.Bytes()); err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
return w.bufferedStream.Write(p)
|
return w.bufferedStr.Write(p)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *responseWriter) Flush() {
|
func (w *responseWriter) Flush() {
|
||||||
if err := w.bufferedStream.Flush(); err != nil {
|
if err := w.bufferedStr.Flush(); err != nil {
|
||||||
w.logger.Errorf("could not flush to stream: %s", err.Error())
|
w.logger.Errorf("could not flush to stream: %s", err.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *responseWriter) StreamID() quic.StreamID {
|
|
||||||
return w.stream.StreamID()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *responseWriter) StreamCreator() StreamCreator {
|
func (w *responseWriter) StreamCreator() StreamCreator {
|
||||||
return w.conn
|
return w.conn
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user