// Head performs a HEAD request with a proper User-Agent string.
// The response body (resp.Body) is already closed when this function returns.
760155
func (d *Doer) Head(url string) (*http.Response, error) {
	req, err := d.newRequest(http.MethodHead, url, nil)
	if err != nil {
		return nil, err
	}

	return d.do(req, nil)
}
927370
func (r *Router) Head(path string, fn interface{}) *Router {
	return r.addRoute(httpMethodHead, path, fn)
}
1043901
func (r *router) HEAD(path string, handler Route) {
	r.group.HEAD(path, handler)
}
983857
func (m *Mux) Head(pattern PatternType, handler HandlerType) {
	m.rt.handleUntyped(pattern, mHEAD, handler)
}
1224870
func (f *Fibre) Head(p string, h HandlerFunc) {
	f.router.Add(HEAD, p, h)
}
68150
func (e *Echo) HEAD(path string, h HandlerFunc, m ...MiddlewareFunc) *Route {
	return e.Add(http.MethodHead, path, h, m...)
}
963450
func (r *Route) Head(handlers ...Handler) *Route {
	return r.group.add("HEAD", r.path, handlers)
}
947568
func (r *Router) Head(pattern string, handlers ...Middleware) *Router {
	return r.Handle(http.MethodHead, pattern, handlers...)
}
507078
func autohead(h http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		if r.Method == "HEAD" {
			w = &headResponseWriter{w}
		}
		h.ServeHTTP(w, r)
	})
}
1255362
func (p *PushEvent) GetHead() string {
	if p == nil || p.Head == nil {
		return ""
	}
	return *p.Head
}
749694
func (c *Collector) Head(URL string) error {
	return c.scrape(URL, "HEAD", 1, nil, nil, nil, false)
}
798154
func (w *ResponseWriter) Header() http.Header {
	if w.header == nil {
		w.header = make(http.Header)
	}

	return w.header
}
722391
func (e *Echo) Head(path string, h interface{}, m ...interface{}) {
	e.add(HEAD, "", path, h, m...)
}
1181452
func (s *Bucket) HeadObject(objectKey string, input *HeadObjectInput) (*HeadObjectOutput, error) {
	r, x, err := s.HeadObjectRequest(objectKey, input)

	if err != nil {
		return x, err
	}

	err = r.Send()
	if err != nil {
		return nil, err
	}

	requestID := r.HTTPResponse.Header.Get(http.CanonicalHeaderKey("X-QS-Request-ID"))
	x.RequestID = &requestID

	return x, err
}
969734
func (r *httpVPackResponse) Header(key string) string {
	return r.resp.Header.Get(key)
}
1290112
func (gr *GoReq) Head(targetURL string) *GoReq {
	//gr.Reset()
	gr.Method = HEAD
	gr.URL = targetURL
	gr.Errors = nil
	return gr
}
837735
func (b *Bucket) Head(path string, headers map[string][]string) (*http.Response, error) {
	req := &request{
		method:  "HEAD",
		bucket:  b.Name,
		path:    path,
		headers: headers,
	}
	err := b.S3.prepare(req)
	if err != nil {
		return nil, err
	}

	for attempt := b.S3.AttemptStrategy.Start(); attempt.Next(); {
		resp, err := b.S3.run(context.Background(), req, nil)
		if shouldRetry(err) && attempt.HasNext() {
			continue
		}
		if err != nil {
			return nil, err
		}
		return resp, err
	}
	return nil, fmt.Errorf("S3 Currently Unreachable")
}