Documentation
¶
Index ¶
- Constants
- Variables
- func CSRFFailureHandler(w http.ResponseWriter, r *http.Request)
- func Client(method, endpoint, userAgent string, headers map[string]string, ...) error
- func Error(message string, code int, err error) error
- func ErrorResponse(rw http.ResponseWriter, r *http.Request, e error)
- func HealthCheck(w http.ResponseWriter, r *http.Request)
- func NewReverseProxy(target *url.URL) *httputil.ReverseProxy
- func NewRouter() *mux.Router
- func NewServer(opt *ServerOptions, h http.Handler, wg *sync.WaitGroup) (*http.Server, error)
- func RedirectHandler() http.Handler
- func Shutdown(srv *http.Server)
- type ServerOptions
Constants ¶
const HeaderForwardHost = "X-Forwarded-Host"
HeaderForwardHost is the header key the identifies the originating IP addresses of a client connecting to a web server through an HTTP proxy or a load balancer.
Variables ¶
var ErrTokenRevoked = errors.New("token expired or revoked")
ErrTokenRevoked signifies a token revokation or expiration error
Functions ¶
func CSRFFailureHandler ¶ added in v0.4.0
func CSRFFailureHandler(w http.ResponseWriter, r *http.Request)
CSRFFailureHandler sets a HTTP 403 Forbidden status and writes the CSRF failure reason to the response.
func Client ¶
func Client(method, endpoint, userAgent string, headers map[string]string, params url.Values, response interface{}) error
Client provides a simple helper interface to make HTTP requests
func Error ¶ added in v0.0.5
Error formats creates a HTTP error with code, user friendly (and safe) error message. If nil or empty, HTTP status code defaults to 500 and message defaults to the text of the status code.
func ErrorResponse ¶
func ErrorResponse(rw http.ResponseWriter, r *http.Request, e error)
ErrorResponse renders an error page given an error. If the error is a http error from this package, a user friendly message is set, http status code, the ability to debug are also set.
func HealthCheck ¶ added in v0.4.0
func HealthCheck(w http.ResponseWriter, r *http.Request)
HealthCheck is a simple healthcheck handler that responds to GET and HEAD http requests.
func NewReverseProxy ¶ added in v0.4.0
func NewReverseProxy(target *url.URL) *httputil.ReverseProxy
NewReverseProxy returns a new ReverseProxy that routes URLs to the scheme, host, and base path provided in target, rewrites the Host header, and sets `X-Forwarded-Host`.
func NewServer ¶ added in v0.4.0
NewServer creates a new HTTP server given a set of options, handler, and waitgroup. It is the callers responsibility to close the resturned server.
func RedirectHandler ¶ added in v0.2.0
RedirectHandler takes an incoming request and redirects to its HTTPS counterpart
func Shutdown ¶ added in v0.2.0
Shutdown attempts to shut down the server when a os interrupt or sigterm signal are received without interrupting any active connections. Shutdown works by first closing all open listeners, then closing all idle connections, and then waiting indefinitely for connections to return to idle and then shut down. If the provided context expires before the shutdown is complete, Shutdown returns the context's error, otherwise it returns any error returned from closing the Server's underlying Listener(s).
When Shutdown is called, Serve, ListenAndServe, and ListenAndServeTLS immediately return ErrServerClosed.
Types ¶
type ServerOptions ¶ added in v0.2.0
type ServerOptions struct { // Addr specifies the host and port on which the server should serve // HTTPS requests. If empty, ":443" is used. Addr string // TLS certificates to use. TLSCertificate *tls.Certificate // Timeouts ReadHeaderTimeout time.Duration ReadTimeout time.Duration WriteTimeout time.Duration IdleTimeout time.Duration }
ServerOptions contains the configurations settings for a http server.