handler

package
v0.30.0 Latest Latest
Warning

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

Go to latest
Published: May 27, 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 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 NewMuxRouterWithSubroutes added in v0.29.0

func NewMuxRouterWithSubroutes() *mux.Router

NewMuxRouterWithSubroutes initializes a gorilla/mux router and adds the /api subroute to it

func ReadLogger added in v0.29.0

func ReadLogger(w http.ResponseWriter, r *http.Request)

ReadLogger handles GET requests for the /logger endpoint

func Routes added in v0.29.0

func Routes(rtr *mux.Router, mw Middleware, handlers Handlers)

Routes registers routes corresponding middleware/handlers to the given gorilla/mux router

func UpdateLogger added in v0.29.0

func UpdateLogger(w http.ResponseWriter, r *http.Request)

UpdateLogger handles PUT requests for the /logger endpoint and updates the logger globals

Types

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 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 Middleware added in v0.28.0

type Middleware struct {
	Logger               zerolog.Logger
	AccessTokenConverter auth.AccessTokenConverter
	Authorizer           auth.Authorizer
}

Middleware are the collection of app middleware handlers

func (Middleware) AccessTokenHandler added in v0.29.0

func (mw Middleware) 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 (Middleware) AuthorizeUserHandler added in v0.29.0

func (mw Middleware) AuthorizeUserHandler(h http.Handler) http.Handler

AuthorizeUserHandler middleware is used authorize a User for a request path and http method

func (Middleware) ConvertAccessTokenHandler added in v0.29.0

func (mw Middleware) ConvertAccessTokenHandler(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 (Middleware) CtxWithUserChain added in v0.29.0

func (mw Middleware) CtxWithUserChain() alice.Chain

CtxWithUserChain chains handlers together to set the Realm, Access Token and User to the Context

func (Middleware) DefaultRealmHandler added in v0.30.0

func (mw Middleware) DefaultRealmHandler(h http.Handler) http.Handler

DefaultRealmHandler middleware is used to set a default Realm to the request context

func (Middleware) JSONContentTypeResponseHandler added in v0.29.0

func (mw Middleware) JSONContentTypeResponseHandler(h http.Handler) http.Handler

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

func (Middleware) LoggerChain added in v0.29.0

func (mw Middleware) LoggerChain() alice.Chain

LoggerChain returns a middleware chain (via alice.Chain) initialized with all the standard middleware handlers for logging. The logger will be added to the request context for subsequent use with pre-populated fields, including the request method, url, status, size, duration, remote IP, user agent, referer. A unique Request ID is also added to the logger, context and response headers.

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() 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() 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