aboutsummaryrefslogtreecommitdiff
path: root/header.go
diff options
context:
space:
mode:
authorGravatar Sergey Ponomarev <stokito@gmail.com> 2022-06-06 09:46:49 +0300
committerGravatar GitHub <noreply@github.com> 2022-06-06 08:46:49 +0200
commit66cd5022fdfb02e619e1b556d1e55fe1f42dac90 (patch)
tree83a59d3c2e0b1503e1220b17e05f84fc6904fe7f /header.go
parentResponse.ContentEncoding(): store as field and avoid using Header.SetCanonica... (diff)
downloadfasthttp-66cd5022fdfb02e619e1b556d1e55fe1f42dac90.tar.gz
fasthttp-66cd5022fdfb02e619e1b556d1e55fe1f42dac90.tar.bz2
fasthttp-66cd5022fdfb02e619e1b556d1e55fe1f42dac90.zip
header.go Referer() optimize (#1313)
* args.go GetBool(): use switch with string casting This should be optimized by Go compiler itself so the b2s() call is not needed. It was previously done by this but changed in 1e7885eb56cdf4c6f550e143b0dbd3acc82a4137 * header.go Referer() optimize Use direct peekArgBytes() instead of PeekBytes() that will check for special headers * header_timing_test.go BenchmarkRequestHeaderPeekBytesSpecialHeader The old BenchmarkRequestHeaderPeekBytesCanonical and BenchmarkRequestHeaderPeekBytesNonCanonical are in fact just measured the header normalization. But it's anyway is benchmarked separately. Results was almost the same: 1.5 ns/op. Instead, let's reuse the benches to find a difference between peeking of special (Host, CT) and custom headers.
Diffstat (limited to 'header.go')
-rw-r--r--header.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/header.go b/header.go
index fc61ae2..e7616df 100644
--- a/header.go
+++ b/header.go
@@ -586,7 +586,7 @@ func (h *RequestHeader) SetUserAgentBytes(userAgent []byte) {
// Referer returns Referer header value.
func (h *RequestHeader) Referer() []byte {
- return h.PeekBytes(strReferer)
+ return peekArgBytes(h.h, strReferer)
}
// SetReferer sets Referer header value.