github.com/jxgolibs/go-oauth2-server@v1.0.1/web/routes.go (about) 1 package web 2 3 import ( 4 "github.com/RichardKnop/go-oauth2-server/util/routes" 5 "github.com/gorilla/mux" 6 "github.com/urfave/negroni" 7 ) 8 9 // RegisterRoutes registers route handlers for the health service 10 func (s *Service) RegisterRoutes(router *mux.Router, prefix string) { 11 subRouter := router.PathPrefix(prefix).Subrouter() 12 routes.AddRoutes(s.GetRoutes(), subRouter) 13 } 14 15 // GetRoutes returns []routes.Route slice for the health service 16 func (s *Service) GetRoutes() []routes.Route { 17 return []routes.Route{ 18 { 19 Name: "register_form", 20 Method: "GET", 21 Pattern: "/register", 22 HandlerFunc: s.registerForm, 23 Middlewares: []negroni.Handler{ 24 new(parseFormMiddleware), 25 newGuestMiddleware(s), 26 newClientMiddleware(s), 27 }, 28 }, 29 { 30 Name: "register", 31 Method: "POST", 32 Pattern: "/register", 33 HandlerFunc: s.register, 34 Middlewares: []negroni.Handler{ 35 new(parseFormMiddleware), 36 newGuestMiddleware(s), 37 newClientMiddleware(s), 38 }, 39 }, 40 { 41 Name: "login_form", 42 Method: "GET", 43 Pattern: "/login", 44 HandlerFunc: s.loginForm, 45 Middlewares: []negroni.Handler{ 46 new(parseFormMiddleware), 47 newGuestMiddleware(s), 48 newClientMiddleware(s), 49 }, 50 }, 51 { 52 Name: "login", 53 Method: "POST", 54 Pattern: "/login", 55 HandlerFunc: s.login, 56 Middlewares: []negroni.Handler{ 57 new(parseFormMiddleware), 58 newGuestMiddleware(s), 59 newClientMiddleware(s), 60 }, 61 }, 62 { 63 Name: "logout", 64 Method: "GET", 65 Pattern: "/logout", 66 HandlerFunc: s.logout, 67 Middlewares: []negroni.Handler{ 68 new(parseFormMiddleware), 69 newLoggedInMiddleware(s), 70 }, 71 }, 72 { 73 Name: "authorize_form", 74 Method: "GET", 75 Pattern: "/authorize", 76 HandlerFunc: s.authorizeForm, 77 Middlewares: []negroni.Handler{ 78 new(parseFormMiddleware), 79 newLoggedInMiddleware(s), 80 newClientMiddleware(s), 81 }, 82 }, 83 { 84 Name: "authorize", 85 Method: "POST", 86 Pattern: "/authorize", 87 HandlerFunc: s.authorize, 88 Middlewares: []negroni.Handler{ 89 new(parseFormMiddleware), 90 newLoggedInMiddleware(s), 91 newClientMiddleware(s), 92 }, 93 }, 94 } 95 }