Documentation
¶
Overview ¶
Package httpapi provides common encoding and middleware for an HTTP API.
Index ¶
- func ErrorResponse(w http.ResponseWriter, err error)
- func GetRefreshToken(r *http.Request) string
- func GetToken(r *http.Request) *auth.Token
- func GetUserID(r *http.Request) string
- func JSONResponse(w http.ResponseWriter, v interface{}, statusCode int)
- func ToHandlerFunc(jsonHandler JSONAPIHandler, successCode int) http.HandlerFunc
- type JSONAPIHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ErrorResponse ¶
func ErrorResponse(w http.ResponseWriter, err error)
ErrorResponse writes an error response. Domain errors are returned to the client. Any other errors, will resolve to 500 error response.
func GetRefreshToken ¶ added in v0.2.0
GetRefreshToken retrieves a Refresh Token from context.
func JSONResponse ¶
func JSONResponse(w http.ResponseWriter, v interface{}, statusCode int)
JSONResponse writes a response body. If a struct is provided and we are unable to marshal it, we return an internal error.
func ToHandlerFunc ¶
func ToHandlerFunc(jsonHandler JSONAPIHandler, successCode int) http.HandlerFunc
ToHandlerFunc adapts a JSONAPIHandler into net/http's HandlerFunc.
Types ¶
type JSONAPIHandler ¶
type JSONAPIHandler func(w http.ResponseWriter, r *http.Request) (interface{}, error)
JSONAPIHandler is an HTTP handler for a JSON API.
func AuthMiddleware ¶
func AuthMiddleware(jsonHandler JSONAPIHandler, tokenSvc auth.TokenService, state auth.TokenState) JSONAPIHandler
AuthMiddleware validates an Authorization header if available.
func ErrorLoggingMiddleware ¶
func ErrorLoggingMiddleware(jsonHandler JSONAPIHandler, source string, log log.Logger) JSONAPIHandler
ErrorLoggingMiddleware logs any errors that are returned before being parsed to an HTTP response.
func RefreshTokenMiddleware ¶ added in v0.2.0
func RefreshTokenMiddleware(jsonHandler JSONAPIHandler) JSONAPIHandler
RefreshTokenMiddleware sets a refresh token in context.