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  }