diff --git a/header.go b/header.go index 75084f1..b70d910 100644 --- a/header.go +++ b/header.go @@ -244,6 +244,23 @@ func (h *RequestHeader) SetUserAgentBytes(userAgent []byte) { h.userAgent = append(h.userAgent[:0], userAgent...) } +// Referer returns Referer header value. +func (h *RequestHeader) Referer() []byte { + return h.PeekBytes(strReferer) +} + +// SetReferer sets Referer header value. +func (h *RequestHeader) SetReferer(referer string) { + h.SetBytesK(strReferer, referer) +} + +// SetRefererBytes sets Referer header value. +// +// It is safe modifying referer buffer after function return. +func (h *RequestHeader) SetRefererBytes(referer []byte) { + h.SetCanonical(strReferer, referer) +} + // Method returns HTTP request method. func (h *RequestHeader) Method() []byte { if len(h.method) == 0 { diff --git a/server.go b/server.go index cf3ebaa..41784d9 100644 --- a/server.go +++ b/server.go @@ -308,7 +308,7 @@ func (ctx *RequestCtx) URI() *URI { // // The referer is valid until returning from RequestHandler. func (ctx *RequestCtx) Referer() []byte { - return ctx.Request.Header.PeekBytes(strReferer) + return ctx.Request.Header.Referer() } // Path returns requested path.