handler

package
v0.28.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 3, 2021 License: MIT Imports: 20 Imported by: 0

Documentation

Overview

Package handler is for all the application handlers and routing

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AccessTokenHandler added in v0.20.0

func AccessTokenHandler(h http.Handler) http.Handler

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

func AuthorizeUserHandler(authorizer auth.Authorizer) (mw func(h http.Handler) http.Handler)

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

func DecoderErr(err error) error

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

func JSONContentTypeResponseHandler(h http.Handler) http.Handler

JSONContentTypeResponseHandler middleware is used to add the application/json Content-Type Header for responses

func NewMuxRouter added in v0.20.0

func NewMuxRouter(logger zerolog.Logger, mw Middleware, handlers Handlers) *mux.Router

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

type CreateMovieHandler http.Handler

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

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

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

type DefaultPingHandler struct {
	Pinger pingstore.Pinger
}

DefaultPingHandler is a handler to allow for general health checks

func (DefaultPingHandler) Ping added in v0.20.0

Ping handles GET requests for the /ping endpoint

type DeleteMovieHandler added in v0.20.0

type DeleteMovieHandler http.Handler

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

type FindAllMoviesHandler http.Handler

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

type FindMovieByIDHandler http.Handler

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

type PingHandler http.Handler

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

type ReadLoggerHandler http.Handler

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

type UpdateLoggerHandler http.Handler

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

type UpdateMovieHandler http.Handler

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL