Files
fasthttp/status_test.go
T
Shivansh Vij 2ca01c7efb fix: Status Line parsing and writing (#1135)
* Adding zero-allocation uint64 to byte slice conversion and fixing the ResponseHeader.SetStatusLine function call signature

* Removing unnecessary i2b function

* Fixing various bugs

* Adding test cases

* Commenting AppendStatusLine

* Update status.go

Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com>

* Update header.go

Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com>

* Cleaning up references to strHTTP11, using formatStatusLine for invalidStatusLine, and making `appendStatusLine` an unexported function

Issue: https://github.com/valyala/fasthttp/issues/1132

* Fixing merge conflicts

Issue: https://github.com/valyala/fasthttp/issues/1132

* Replacing []byte{} with nil in some test cases

Issue: https://github.com/valyala/fasthttp/issues/1132

* Cleaning up parsing first line, and improving StatusMessage function

Issue: https://github.com/valyala/fasthttp/issues/1132

* Fixing as per PR

* Update header.go

Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com>

* Update header.go

Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com>

* Fixing as per requested changes

* Update header_test.go

Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com>

Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com>
2021-11-08 09:44:02 +01:00

25 lines
796 B
Go

package fasthttp
import (
"bytes"
"testing"
)
func TestStatusLine(t *testing.T) {
t.Parallel()
testStatusLine(t, -1, []byte("HTTP/1.1 -1 Unknown Status Code\r\n"))
testStatusLine(t, 99, []byte("HTTP/1.1 99 Unknown Status Code\r\n"))
testStatusLine(t, 200, []byte("HTTP/1.1 200 OK\r\n"))
testStatusLine(t, 512, []byte("HTTP/1.1 512 Unknown Status Code\r\n"))
testStatusLine(t, 512, []byte("HTTP/1.1 512 Unknown Status Code\r\n"))
testStatusLine(t, 520, []byte("HTTP/1.1 520 Unknown Status Code\r\n"))
}
func testStatusLine(t *testing.T, statusCode int, expected []byte) {
line := formatStatusLine(nil, strHTTP11, statusCode, s2b(StatusMessage(statusCode)))
if !bytes.Equal(expected, line) {
t.Fatalf("unexpected status line %s. Expecting %s", string(line), string(expected))
}
}