func (r *Response) Vary(field string) {
	if field != "" && r.handlerHeader.Get(HeaderVary) != "*" {
		if field == "*" {
			r.handlerHeader.Set(HeaderVary, field)
		} else {
			r.handlerHeader.Add(HeaderVary, field)
		}
	}
}
Vary manipulate the HTTP Vary header.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Vary
package gear
import (
	"bufio"
	"net"
	"net/http"
	"regexp"
)
var misdirectedResponseBody []byte = []byte(`{"error":"MisdirectedRequest","message":"The request was directed at a server that is not able to produce a response."}`)
var defaultHeaderFilterReg = regexp.MustCompile(`(?i)^(accept|allow|retry-after|warning|vary|server|access-control-allow-|x-)`)
type Response struct {
	status      int     
	body        []byte  
	afterHooks  []func()
	endHooks    []func()
	ended       atomicBool  
	wroteHeader atomicBool
	handlerHeader http.Header
	w             http.ResponseWriter  
	rw            http.ResponseWriter  
}
func (r *Response) Get(key string) string {
	return r.handlerHeader.Get(key)
}
func (r *Response) Set(key, value string) {
	r.handlerHeader.Set(key, value)
}
func (r *Response) Add(key, value string) {
	r.handlerHeader.Add(key, value)
}
func (r *Response) Del(key string) {
	r.handlerHeader.Del(key)
}