package server import ( "local/notes-server/config" "local/notes-server/notes" "local/oauth2/oauth2client" "local/router" "log" "net/http" ) type Server struct { *router.Router Notes *notes.Notes } func New() *Server { return &Server{ Router: router.New(), Notes: notes.New(), } } func (s *Server) authenticate(foo http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if config.OAuthServer != "" { err := oauth2client.Authenticate(config.OAuthServer, "notes-server", w, r) if err != nil { log.Println(err) return } } foo(w, r) } }