forked from quic-go/quic-go
http3: check response writer for http.ResponseController methods (#5071)
This commit is contained in:
@@ -57,6 +57,13 @@ var (
|
|||||||
_ http.Flusher = &responseWriter{}
|
_ http.Flusher = &responseWriter{}
|
||||||
_ Hijacker = &responseWriter{}
|
_ Hijacker = &responseWriter{}
|
||||||
_ HTTPStreamer = &responseWriter{}
|
_ HTTPStreamer = &responseWriter{}
|
||||||
|
// make sure that we implement (some of the) methods used by the http.ResponseController
|
||||||
|
_ interface {
|
||||||
|
SetReadDeadline(time.Time) error
|
||||||
|
SetWriteDeadline(time.Time) error
|
||||||
|
Flush()
|
||||||
|
FlushError() error
|
||||||
|
} = &responseWriter{}
|
||||||
)
|
)
|
||||||
|
|
||||||
func newResponseWriter(str *stream, conn Connection, isHead bool, logger *slog.Logger) *responseWriter {
|
func newResponseWriter(str *stream, conn Connection, isHead bool, logger *slog.Logger) *responseWriter {
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/quic-go/qpack"
|
"github.com/quic-go/qpack"
|
||||||
mockquic "github.com/quic-go/quic-go/internal/mocks/quic"
|
mockquic "github.com/quic-go/quic-go/internal/mocks/quic"
|
||||||
@@ -165,11 +164,6 @@ var _ = Describe("Response Writer", func() {
|
|||||||
Expect(fields).To(HaveKeyWithValue("content-type", []string{"text/html; charset=utf-8"}))
|
Expect(fields).To(HaveKeyWithValue("content-type", []string{"text/html; charset=utf-8"}))
|
||||||
})
|
})
|
||||||
|
|
||||||
It(`is compatible with "net/http".ResponseController`, func() {
|
|
||||||
Expect(rw.SetReadDeadline(time.Now().Add(1 * time.Second))).To(BeNil())
|
|
||||||
Expect(rw.SetWriteDeadline(time.Now().Add(1 * time.Second))).To(BeNil())
|
|
||||||
})
|
|
||||||
|
|
||||||
It(`checks Content-Length header`, func() {
|
It(`checks Content-Length header`, func() {
|
||||||
rw.Header().Set("Content-Length", "6")
|
rw.Header().Set("Content-Length", "6")
|
||||||
n, err := rw.Write([]byte("foobar"))
|
n, err := rw.Write([]byte("foobar"))
|
||||||
|
|||||||
Reference in New Issue
Block a user