code: func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
  	defer func() {
  		// We absolutely need to be sure we stay alive up here,
  		// even though, in theory, the errors middleware does this.
  		if rec := recover(); rec != nil {
  			log.Printf("[PANIC] %v", rec)
  			DefaultErrorFunc(w, r, http.StatusInternalServerError)
  		}
  	}()
  
  	w.Header().Set("Server", "Caddy")
  
  	sanitizePath(r)
  
  	status, _ := s.serveHTTP(w, r)
  
  	// Fallback error response in case error handling wasn't chained in
  	if status >= 400 {
  		DefaultErrorFunc(w, r, status)
  	}
  }
docs: // ServeHTTP is the entry point of all HTTP requests.