timeout writer add hijack

This commit is contained in:
yangjinheng
2023-03-02 18:52:23 +08:00
committed by Kevin Wan
parent 96998ae570
commit dbc8f9faca
2 changed files with 27 additions and 0 deletions

View File

@@ -1,11 +1,13 @@
package handler
import (
"bufio"
"bytes"
"context"
"errors"
"fmt"
"io"
"net"
"net/http"
"path"
"runtime"

View File

@@ -10,6 +10,7 @@ import (
"time"
"github.com/stretchr/testify/assert"
"github.com/zeromicro/go-zero/rest/internal/response"
)
func init() {
@@ -134,6 +135,30 @@ func TestTimeoutClientClosed(t *testing.T) {
assert.Equal(t, statusClientClosedRequest, resp.Code)
}
func TestTimeoutHijack(t *testing.T) {
resp := httptest.NewRecorder()
writer := &timeoutWriter{
w: &response.WithCodeResponseWriter{
Writer: resp,
},
}
assert.NotPanics(t, func() {
writer.Hijack()
})
writer = &timeoutWriter{
w: &response.WithCodeResponseWriter{
Writer: mockedHijackable{resp},
},
}
assert.NotPanics(t, func() {
writer.Hijack()
})
}
func TestTimeoutPusher(t *testing.T) {
handler := &timeoutWriter{
w: mockedPusher{},