diff options
author | Erik Dubbelboer <erik@dubbelboer.com> | 2024-02-11 14:55:31 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-11 07:55:31 +0100 |
commit | 332726634240b82456ce8563cd7aa4027612ce36 (patch) | |
tree | 64a7b1862d9d6089e7521a7a2c59f8ea19436fe0 /http_test.go | |
parent | Bump dependencies (#1718) (diff) | |
download | fasthttp-332726634240b82456ce8563cd7aa4027612ce36.tar.gz fasthttp-332726634240b82456ce8563cd7aa4027612ce36.tar.bz2 fasthttp-332726634240b82456ce8563cd7aa4027612ce36.zip |
Follow RFCs 7230 and 9112 for HTTP versions (#1710)
Require that HTTP versions match the following pattern: HTTP/[0-9]\.[0-9]
Diffstat (limited to 'http_test.go')
-rw-r--r-- | http_test.go | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/http_test.go b/http_test.go index 098990a..a82f23e 100644 --- a/http_test.go +++ b/http_test.go @@ -3,7 +3,6 @@ package fasthttp import ( "bufio" "bytes" - "encoding/base64" "errors" "fmt" "io" @@ -22,23 +21,15 @@ import ( func TestInvalidTrailers(t *testing.T) { t.Parallel() - if err := (&Response{}).Read(bufio.NewReader(bytes.NewReader([]byte{0x20, 0x30, 0x0a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2d, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0xff, 0x0a, 0x0a, 0x30, 0x0d, 0x0a, 0x30}))); !errors.Is(err, io.EOF) { + if err := (&Response{}).Read(bufio.NewReader(strings.NewReader(" 0\nTransfer-Encoding:\xff\n\n0\r\n0"))); !errors.Is(err, io.EOF) { t.Fatalf("%#v", err) } - if err := (&Response{}).Read(bufio.NewReader(bytes.NewReader([]byte{0xff, 0x20, 0x0a, 0x54, 0x52, 0x61, 0x49, 0x4c, 0x65, 0x52, 0x3a, 0x2c, 0x0a, 0x0a}))); !errors.Is(err, errEmptyInt) { + if err := (&Response{}).Read(bufio.NewReader(strings.NewReader("\xff \nTRaILeR:,\n\n"))); !errors.Is(err, errEmptyInt) { t.Fatal(err) } - if err := (&Response{}).Read(bufio.NewReader(bytes.NewReader([]byte{0x54, 0x52, 0x61, 0x49, 0x4c, 0x65, 0x52, 0x3a, 0x2c, 0x0a, 0x0a}))); !strings.Contains(err.Error(), "cannot find whitespace in the first line of response") { + if err := (&Response{}).Read(bufio.NewReader(strings.NewReader("TRaILeR:,\n\n"))); !strings.Contains(err.Error(), "cannot find whitespace in the first line of response") { t.Fatal(err) } - if err := (&Request{}).Read(bufio.NewReader(bytes.NewReader([]byte{0xff, 0x20, 0x0a, 0x54, 0x52, 0x61, 0x49, 0x4c, 0x65, 0x52, 0x3a, 0x2c, 0x0a, 0x0a}))); !strings.Contains(err.Error(), "contain forbidden trailer") { - t.Fatal(err) - } - - b, _ := base64.StdEncoding.DecodeString("tCAKIDoKCToKICAKCToKICAKCToKIAogOgoJOgogIAoJOgovIC8vOi4KOh0KVFJhSUxlUjo9HT09HQpUUmFJTGVSOicQAApUUmFJTGVSOj0gHSAKCT09HQoKOgoKCgo=") - if err := (&Request{}).Read(bufio.NewReader(bytes.NewReader(b))); !strings.Contains(err.Error(), "error when reading request headers: invalid header key") { - t.Fatalf("%#v", err) - } } func TestResponseEmptyTransferEncoding(t *testing.T) { |