httputil

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2019 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
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

View Source
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

func Error(message string, code int, err error) error

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 NewRouter added in v0.4.0

func NewRouter() *mux.Router

NewRouter returns a new router instance.

func NewServer added in v0.4.0

func NewServer(opt *ServerOptions, h http.Handler, wg *sync.WaitGroup) (*http.Server, error)

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

func RedirectHandler() http.Handler

RedirectHandler takes an incoming request and redirects to its HTTPS counterpart

func Shutdown added in v0.2.0

func Shutdown(srv *http.Server)

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.

Jump to

Keyboard shortcuts

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