http

package
v0.0.0-...-55c481f Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2022 License: Apache-2.0 Imports: 7 Imported by: 2

Documentation

Overview

Package http provides easy access to Payshares's best practices for building http servers. The primary method to use is `Serve`, which sets up an server that can support http/2 and can gracefully quit after receiving a SIGINT signal.

Index

Constants

View Source
const DefaultListenAddr = "0.0.0.0:8080"

DefaultListenAddr represents the default address and port on which a server will listen, provided it is not overridden by setting the `ListenAddr` field on a `Config` struct.

View Source
const DefaultShutdownGracePeriod = 10 * time.Second

DefaultShutdownGracePeriod represents the default time in which the running process will allow outstanding http requests to complete before aborting them. It will be used when a grace period of 0 is used, which normally signifies "no timeout" to our graceful shutdown package. We choose not to provide a "no timeout" mode at present. Feel free to set the value to a year or something if you need a timeout that is effectively "no timeout"; We believe that most servers should use a sane timeout and prefer one for the default configuration.

Variables

This section is empty.

Functions

func Run

func Run(conf Config)

Run starts an http server using the provided config struct.

This method configures the process to listen for termination signals (SIGINT and SIGTERM) to trigger a graceful shutdown by way of the graceful package (https://github.com/tylerb/graceful).

Types

type Config

type Config struct {
	Handler             stdhttp.Handler
	ListenAddr          string
	TLSCert             string
	TLSKey              string
	ShutdownGracePeriod time.Duration
	OnStarting          func()
	OnStopping          func()
	OnStopped           func()
}

Config represents the configuration of an http server that can be provided to `Run`.

Directories

Path Synopsis
Package httptest enhances the stdlib net/http/httptest package by integrating it with gopkg.in/gavv/httpexpect.v1, reducing the boilerplate needed for http tests.
Package httptest enhances the stdlib net/http/httptest package by integrating it with gopkg.in/gavv/httpexpect.v1, reducing the boilerplate needed for http tests.
Package mutil contains various functions that are helpful when writing http middleware.
Package mutil contains various functions that are helpful when writing http middleware.

Jump to

Keyboard shortcuts

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