Documentation
¶
Overview ¶
Package handler is for all the application handlers and routing
Index ¶
- func AccessTokenHandler(h http.Handler) http.Handler
- func AuthorizeUserHandler(authorizer auth.Authorizer) (mw func(h http.Handler) http.Handler)
- func ConvertAccessTokenHandler(converter auth.AccessTokenConverter) (mw func(h http.Handler) http.Handler)
- func DecoderErr(err error) error
- func JSONContentTypeResponseHandler(h http.Handler) http.Handler
- func NewMuxRouter(logger zerolog.Logger, mw Middleware, handlers Handlers) *mux.Router
- type AccessTokenMw
- type AuthorizeUserMw
- type ConvertAccessTokenMw
- type CreateMovieHandler
- type DefaultLoggerHandlers
- type DefaultMovieHandlers
- func (h DefaultMovieHandlers) CreateMovie(w http.ResponseWriter, r *http.Request)
- func (h DefaultMovieHandlers) DeleteMovie(w http.ResponseWriter, r *http.Request)
- func (h DefaultMovieHandlers) FindAllMovies(w http.ResponseWriter, r *http.Request)
- func (h DefaultMovieHandlers) FindByID(w http.ResponseWriter, r *http.Request)
- func (h DefaultMovieHandlers) UpdateMovie(w http.ResponseWriter, r *http.Request)
- type DefaultPingHandler
- type DeleteMovieHandler
- type FindAllMoviesHandler
- type FindMovieByIDHandler
- type Handlers
- type JSONContentTypeResponseMw
- type Middleware
- type PingHandler
- type ReadLoggerHandler
- type UpdateLoggerHandler
- type UpdateMovieHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AccessTokenHandler ¶ added in v0.20.0
AccessTokenHandler middleware is used to pull the Bearer token from the Authorization header and set it to the request context as an auth.AccessToken
func AuthorizeUserHandler ¶ added in v0.28.0
AuthorizeUserHandler middleware is used authorize a User for a request path and http method
func ConvertAccessTokenHandler ¶ added in v0.28.0
func ConvertAccessTokenHandler(converter auth.AccessTokenConverter) (mw func(h http.Handler) http.Handler)
ConvertAccessTokenHandler middleware is used to convert an AccessToken to a User and store the User to the request context
func DecoderErr ¶ added in v0.17.0
DecoderErr is a convenience function to handle errors returned by json.NewDecoder(r.Body).Decode(&data) and return the appropriate error response
func JSONContentTypeResponseHandler ¶ added in v0.27.0
JSONContentTypeResponseHandler middleware is used to add the application/json Content-Type Header for responses
func NewMuxRouter ¶ added in v0.20.0
NewMuxRouter initializes a gorilla/mux router and registers routes and corresponding middleware/handlers to it
Types ¶
type AccessTokenMw ¶ added in v0.28.0
type AccessTokenMw alice.Constructor
AccessTokenMw is a middleware to pull the Bearer token from the Authorization header and set it to the request context as an auth.AccessToken
func NewAccessTokenMw ¶ added in v0.28.0
func NewAccessTokenMw() AccessTokenMw
NewAccessTokenMw is an initializer for AccessTokenMw
type AuthorizeUserMw ¶ added in v0.28.0
type AuthorizeUserMw alice.Constructor
AuthorizeUserMw middleware is used to authorize a User's access to a resource at a given request path and http method
func NewAuthorizeUserMw ¶ added in v0.28.0
func NewAuthorizeUserMw(authorizer auth.Authorizer) AuthorizeUserMw
NewAuthorizeUserMw is an initializer for AuthorizeUserMw
type ConvertAccessTokenMw ¶ added in v0.28.0
type ConvertAccessTokenMw alice.Constructor
ConvertAccessTokenMw middleware is used to convert an access token to a User
func NewConvertAccessTokenMw ¶ added in v0.28.0
func NewConvertAccessTokenMw(converter auth.AccessTokenConverter) ConvertAccessTokenMw
NewConvertAccessTokenMw is an initializer for ConvertAccessTokenMw
type CreateMovieHandler ¶ added in v0.20.0
CreateMovieHandler is a Handler that creates a Movie
func NewCreateMovieHandler ¶ added in v0.28.0
func NewCreateMovieHandler(h DefaultMovieHandlers) CreateMovieHandler
NewCreateMovieHandler is a provider for CreateMovieHandler
type DefaultLoggerHandlers ¶ added in v0.28.0
type DefaultLoggerHandlers struct {
AccessTokenConverter auth.AccessTokenConverter
Authorizer auth.Authorizer
}
DefaultLoggerHandlers are the default handlers for working with the app logger. Each method on the struct is a separate handler.
func (DefaultLoggerHandlers) ReadLogger ¶ added in v0.28.0
func (h DefaultLoggerHandlers) ReadLogger(w http.ResponseWriter, r *http.Request)
ReadLogger handles GET requests for the /logger endpoint
func (DefaultLoggerHandlers) UpdateLogger ¶ added in v0.28.0
func (h DefaultLoggerHandlers) UpdateLogger(w http.ResponseWriter, r *http.Request)
UpdateLogger handles PUT requests for the /logger endpoint and updates the given movie
type DefaultMovieHandlers ¶ added in v0.20.0
type DefaultMovieHandlers struct {
RandomStringGenerator random.StringGenerator
Transactor moviestore.Transactor
Selector moviestore.Selector
}
DefaultMovieHandlers are the default handlers for CRUD operations for a Movie. Each method on the struct is a separate handler.
func (DefaultMovieHandlers) CreateMovie ¶ added in v0.20.0
func (h DefaultMovieHandlers) CreateMovie(w http.ResponseWriter, r *http.Request)
CreateMovie is a HandlerFunc used to create a Movie
func (DefaultMovieHandlers) DeleteMovie ¶ added in v0.20.0
func (h DefaultMovieHandlers) DeleteMovie(w http.ResponseWriter, r *http.Request)
DeleteMovie handles DELETE requests for the /movies/{id} endpoint and updates the given movie
func (DefaultMovieHandlers) FindAllMovies ¶ added in v0.20.0
func (h DefaultMovieHandlers) FindAllMovies(w http.ResponseWriter, r *http.Request)
FindAllMovies handles GET requests for the /movies endpoint and finds all movies
func (DefaultMovieHandlers) FindByID ¶ added in v0.20.0
func (h DefaultMovieHandlers) FindByID(w http.ResponseWriter, r *http.Request)
FindByID handles GET requests for the /movies/{id} endpoint and finds a movie by it's ID
func (DefaultMovieHandlers) UpdateMovie ¶ added in v0.20.0
func (h DefaultMovieHandlers) UpdateMovie(w http.ResponseWriter, r *http.Request)
UpdateMovie handles PUT requests for the /movies/{id} endpoint and updates the given movie
type DefaultPingHandler ¶ added in v0.20.0
DefaultPingHandler is a handler to allow for general health checks
func (DefaultPingHandler) Ping ¶ added in v0.20.0
func (h DefaultPingHandler) Ping(w http.ResponseWriter, r *http.Request)
Ping handles GET requests for the /ping endpoint
type DeleteMovieHandler ¶ added in v0.20.0
DeleteMovieHandler is a Handler that deletes a Movie
func NewDeleteMovieHandler ¶ added in v0.28.0
func NewDeleteMovieHandler(h DefaultMovieHandlers) DeleteMovieHandler
NewDeleteMovieHandler is a provider for DeleteMovieHandler
type FindAllMoviesHandler ¶ added in v0.20.0
FindAllMoviesHandler is a Handler that returns the entire set of Movies
func NewFindAllMoviesHandler ¶ added in v0.28.0
func NewFindAllMoviesHandler(h DefaultMovieHandlers) FindAllMoviesHandler
NewFindAllMoviesHandler is a provider for FindAllMoviesHandler
type FindMovieByIDHandler ¶ added in v0.20.0
FindMovieByIDHandler is a Handler finds a Movie by ID
func NewFindMovieByIDHandler ¶ added in v0.28.0
func NewFindMovieByIDHandler(h DefaultMovieHandlers) FindMovieByIDHandler
NewFindMovieByIDHandler is a provider for the FindMovieByIDHandler for wire
type Handlers ¶ added in v0.20.0
type Handlers struct {
PingHandler PingHandler
ReadLoggerHandler ReadLoggerHandler
UpdateLoggerHandler UpdateLoggerHandler
CreateMovieHandler CreateMovieHandler
FindMovieByIDHandler FindMovieByIDHandler
FindAllMoviesHandler FindAllMoviesHandler
UpdateMovieHandler UpdateMovieHandler
DeleteMovieHandler DeleteMovieHandler
}
Handlers is a bundled set of all the application's HTTP handlers
type JSONContentTypeResponseMw ¶ added in v0.28.0
type JSONContentTypeResponseMw alice.Constructor
JSONContentTypeResponseMw is a middleware to add a application/json Content-Type Header to responses
func NewJSONContentTypeResponseMw ¶ added in v0.28.0
func NewJSONContentTypeResponseMw() JSONContentTypeResponseMw
NewJSONContentTypeResponseMw is an initializer for JSONContentTypeResponseMw
type Middleware ¶ added in v0.28.0
type Middleware struct {
JSONContentTypeResponseMw JSONContentTypeResponseMw
AccessTokenMw AccessTokenMw
ConvertAccessTokenMw ConvertAccessTokenMw
AuthorizeUserMw AuthorizeUserMw
}
Middleware are a bundled set of all the application middlewares
func (Middleware) AccessTokenMiddleware ¶ added in v0.28.0
func (mw Middleware) AccessTokenMiddleware() alice.Constructor
AccessTokenMiddleware returns the access token middleware
func (Middleware) AuthorizeUserMiddleware ¶ added in v0.28.0
func (mw Middleware) AuthorizeUserMiddleware() alice.Constructor
AuthorizeUserMiddleware returns the Authorize User middleware
func (Middleware) ConvertAccessTokenMiddleware ¶ added in v0.28.0
func (mw Middleware) ConvertAccessTokenMiddleware() alice.Constructor
ConvertAccessTokenMiddleware returns the Access Token converter middleware
func (Middleware) JSONContentTypeResponseMiddleware ¶ added in v0.28.0
func (mw Middleware) JSONContentTypeResponseMiddleware() alice.Constructor
JSONContentTypeResponseMiddleware returns the JSON Content response middleware
type PingHandler ¶ added in v0.20.0
PingHandler is a Handler that gives app status, such as db ping, etc.
func NewPingHandler ¶ added in v0.28.0
func NewPingHandler(h DefaultPingHandler) PingHandler
NewPingHandler is a provider for PingHandler
type ReadLoggerHandler ¶ added in v0.28.0
ReadLoggerHandler is a Handler that reads the current state of the app logger
func NewReadLoggerHandler ¶ added in v0.28.0
func NewReadLoggerHandler(h DefaultLoggerHandlers) ReadLoggerHandler
NewReadLoggerHandler is a provider for ReadLoggerHandler
type UpdateLoggerHandler ¶ added in v0.28.0
UpdateLoggerHandler is a Handler that reads the current state of the app logger
func NewUpdateLoggerHandler ¶ added in v0.28.0
func NewUpdateLoggerHandler(h DefaultLoggerHandlers) UpdateLoggerHandler
NewUpdateLoggerHandler is a provider for UpdateLoggerHandler
type UpdateMovieHandler ¶ added in v0.20.0
UpdateMovieHandler is a Handler that updates a Movie
func NewUpdateMovieHandler ¶ added in v0.28.0
func NewUpdateMovieHandler(h DefaultMovieHandlers) UpdateMovieHandler
NewUpdateMovieHandler is a provider for UpdateMovieHandler