type ServerOps … type Server … // NewServer returns a new Server using the given operations. func NewServer(ops ServerOps) *Server { … } var ServerPaths … var modVerRE … func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { … } // reportError reports err to w. // If it's a not-found, the reported error is 404. // Otherwise it is an internal server error. // The caller must only call reportError in contexts where // a not-found err should be reported as 404. func reportError(w http.ResponseWriter, err error) { … }