TUN-7253: Adopt http.ResponseWriter for connection.ResponseWriter

This commit is contained in:
Devin Carr
2023-03-07 10:41:15 -08:00
parent 27f88ae209
commit bf3136debb
4 changed files with 31 additions and 9 deletions

View File

@@ -700,8 +700,7 @@ func TestConnections(t *testing.T) {
cancel()
assert.Equal(t, test.want.err, err != nil)
assert.Equal(t, test.want.message, replayer.Bytes())
respPrinter := respWriter.(responsePrinter)
assert.Equal(t, test.want.headers, respPrinter.headers())
assert.Equal(t, test.want.headers, respWriter.Header())
replayer.rw.Reset()
})
}
@@ -794,10 +793,6 @@ func (p *pipedRequestBody) Close() error {
return nil
}
type responsePrinter interface {
headers() http.Header
}
type wsRespWriter struct {
w io.Writer
responseHeaders http.Header
@@ -836,12 +831,16 @@ func (w *wsRespWriter) AddTrailer(trailerName, trailerValue string) {
}
// respHeaders is a test function to read respHeaders
func (w *wsRespWriter) headers() http.Header {
func (w *wsRespWriter) Header() http.Header {
// Removing indeterminstic header because it cannot be asserted.
w.responseHeaders.Del("Date")
return w.responseHeaders
}
func (w *wsRespWriter) WriteHeader(status int) {
// unused
}
type mockTCPRespWriter struct {
w io.Writer
responseHeaders http.Header
@@ -862,7 +861,7 @@ func (m *mockTCPRespWriter) Write(p []byte) (n int, err error) {
return m.w.Write(p)
}
func (w *mockTCPRespWriter) AddTrailer(trailerName, trailerValue string) {
func (m *mockTCPRespWriter) AddTrailer(trailerName, trailerValue string) {
// do nothing
}
@@ -873,10 +872,14 @@ func (m *mockTCPRespWriter) WriteRespHeaders(status int, header http.Header) err
}
// respHeaders is a test function to read respHeaders
func (m *mockTCPRespWriter) headers() http.Header {
func (m *mockTCPRespWriter) Header() http.Header {
return m.responseHeaders
}
func (m *mockTCPRespWriter) WriteHeader(status int) {
// do nothing
}
func createSingleIngressConfig(t *testing.T, service string) ingress.Ingress {
ingressConfig := &config.Configuration{
Ingress: []config.UnvalidatedIngressRule{