func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	if status, err := s.doRequest(r); err != nil {
		log.Infof(r.Context(), "teeproxy.Server.ServeHTTP: %v", err)
		http.Error(w, http.StatusText(status), status)
		return
	}
}
// ServeHTTP receives requests from godoc.org and forwards them to pkg.go.dev.
// These requests are validated and rate limited before being forwarded. Too
// many error responses returned by pkg.go.dev will cause the server to back
// off temporarily before trying to forward requests to pkg.go.dev again.
ServeHTTP receives requests from godoc.org and forwards them to pkg.go.dev.
These requests are validated and rate limited before being forwarded. Too
many error responses returned by pkg.go.dev will cause the server to back
off temporarily before trying to forward requests to pkg.go.dev again.
// ServeHTTP receives requests from godoc . org and forwards them to pkg . go . dev . // These requests are validated and rate limited before being forwarded . Too // many error responses returned by pkg . go . dev will cause the server to back // off temporarily before trying to forward requests to pkg . go . dev again .
func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	if status, err := s.doRequest(r); err != nil {
		log.Infof(r.Context(), "teeproxy.Server.ServeHTTP: %v", err)
		http.Error(w, http.StatusText(status), status)
		return
	}
}
func ( s * Server ) ServeHTTP ( w http . ResponseWriter , r * http . Request ) { if status , err := s . doRequest ( r ) ; err != nil { log . Infof ( r . Context ( ) , " " , err ) http . Error ( w , http . StatusText ( status ) , status ) return } }
ServeHTTP receives requests from godoc.org and forwards them to pkg.go.dev.
ServeHTTP receives requests from godoc . org and forwards them to pkg . go . dev .