Documentation ¶
Overview ¶
Package http implements the basic pace microservice handlers and a standard microservice server configured via environment variables.
Index ¶
- Variables
- func ContextTransfer(ctx, targetCtx context.Context) context.Context
- func Environment() string
- func GetUserAgentFromContext(ctx context.Context) (string, error)
- func GetXForwardedForHeaderFromContext(ctx context.Context) (string, error)
- func JsonApiErrorWriterMiddleware(next http.Handler) http.Handler
- func RequestInContextMiddleware(next http.Handler) http.Handler
- func Router() *mux.Router
- func Server(handler http.Handler) *http.Server
Constants ¶
This section is empty.
Variables ¶
var ( ErrNotFound = errors.New("not found") ErrInvalidRequest = errors.New("request is invalid") )
All exported package errors.
Functions ¶
func ContextTransfer ¶ added in v0.1.70
ContextTransfer copies a request representation from one context to another.
func Environment ¶
func Environment() string
Environment returns the name of the current server environment
func GetUserAgentFromContext ¶ added in v0.1.72
GetUserAgentFromContext returns the User-Agent header value from the request that is stored in the context. Returns ErrNotFound if the context does not have a request.
func GetXForwardedForHeaderFromContext ¶ added in v0.1.70
GetXForwardedForHeaderFromContext returns the X-Forwarded-For header value that would express that you forwarded the request that is stored in the context.
If the remote address of the request is 12.34.56.78:9999 then the value is that remote ip without the port. If the request already includes this header, the remote ip is appended to the value of that header. For example if the request on top of the remote ip also includes the header "X-Forwarded-For: 100.100.100.100" then the resulting value is "100.100.100.100, 12.34.56.78".
Returns ErrNotFound if the context does not have a request. Returns ErrInvalidRequest if the request in the context is malformed, for example because it does not have a remote address, which should never happen.
func JsonApiErrorWriterMiddleware ¶ added in v0.1.11
JsonApiErrorWriterMiddleware is a middleware that wraps http.ResponseWriter such that it forces responses with status codes 4xx/5xx to have Content-Type: application/vnd.api+json
func RequestInContextMiddleware ¶ added in v0.1.70
RequestInContextMiddleware stores a representation of the request in the context of said request. Some information of that request can then be accessed through the context using functions of this package.
Types ¶
This section is empty.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package jsonapi provides a serializer and deserializer for jsonapi.org spec payloads.
|
Package jsonapi provides a serializer and deserializer for jsonapi.org spec payloads. |
generator
Package generator translates an OpenAPIv3 specification into working go code that handles marshalling, error handling, parameter parsing and validation.
|
Package generator translates an OpenAPIv3 specification into working go code that handles marshalling, error handling, parameter parsing and validation. |
runtime
Package runtime contains functions for marshalling, error handling, parameter parsing and validation.
|
Package runtime contains functions for marshalling, error handling, parameter parsing and validation. |
Package oauth2 provides a middelware that introspects the auth token on behalf of PACE services and populate the request context with useful information when the token is valid, otherwise aborts the request.
|
Package oauth2 provides a middelware that introspects the auth token on behalf of PACE services and populate the request context with useful information when the token is valid, otherwise aborts the request. |