http

package
v0.0.0-...-8a5471c Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MaybeCloseConnection

func MaybeCloseConnection(w http.ResponseWriter, r *http.Request)

func NewClient

func NewClient(opts ClientOpts) *http.Client

Types

type ClientOpts

type ClientOpts struct {
	// Close controls whether the client closes the connection after each request.
	Close bool

	// Timeout is the timeout for the http client and the http request.
	Timeout time.Duration

	// InsecureSkipVerify controls whether the client verifies the server's certificate chain and host name.
	InsecureSkipVerify bool

	// IdleConnTimeout is the maximum amount of time an idle (keep-alive) connection
	// will remain idle before closing itself.
	IdleConnTimeout time.Duration

	// ResponseHeaderTimeout is the amount of time to wait for a server's response headers
	// after fully writing the request (including its body, if any).
	ResponseHeaderTimeout time.Duration

	// MaxIdleConns controls the maximum number of idle (keep-alive) connections across all hosts.
	MaxIdleConns int

	// MaxIdleConnsPerHost, if non-zero, controls the maximum idle (keep-alive) per host.
	MaxIdleConnsPerHost int

	// MaxConnsPerHost, if non-zero, controls the maximum connections per host.
	MaxConnsPerHost int

	// TLSHandshakeTimeout specifies the maximum amount of time to
	// wait for a TLS handshake. Zero means no timeout.
	TLSHandshakeTimeout time.Duration

	// DisableHTTP2 controls whether the client disables HTTP/2 support.
	DisableHTTP2 bool

	// DisableKeepAlives controls whether the client disables HTTP keep-alives.
	DisableKeepAlives bool
}

func (ClientOpts) WithDefaults

func (c ClientOpts) WithDefaults() ClientOpts

type GRPCHandler

type GRPCHandler struct {
	Path    string
	Handler http.Handler
	Port    int
}

type HttpHandler

type HttpHandler struct {
	Path    string
	Handler http.HandlerFunc
}

type HttpServer

type HttpServer struct {
	// contains filtered or unexported fields
}

HttpServer is a http server that is preconfigured with a prometheus metrics handler. Additional handlers can be registered with RegisterHandler.

func NewServer

func NewServer(opts *ServerOpts) *HttpServer

func (*HttpServer) Close

func (s *HttpServer) Close() error

Close shuts down the http server.

func (*HttpServer) Open

func (s *HttpServer) Open(ctx context.Context) error

Open starts the http server.

func (*HttpServer) RegisterHandler

func (s *HttpServer) RegisterHandler(path string, handler http.Handler)

RegisterHandler registers a new handler at the given path. The handler must be registered before Open is called.

func (*HttpServer) RegisterHandlerFunc

func (s *HttpServer) RegisterHandlerFunc(path string, handlerFunc http.HandlerFunc)

RegisterHandlerFunc registers a new handler at the given path. The handler must be registered before Open is called.

func (*HttpServer) String

func (s *HttpServer) String() string

type ServerOpts

type ServerOpts struct {
	// MaxConns is the maximum number of connections the server will accept.  This value is only respected if
	// Listener is nil.
	MaxConns int

	// ReadTimeout is the maximum duration before timing out read of the request.
	// If not specified, the default is 5 seconds.
	ReadTimeout time.Duration

	// WriteTimeout is the maximum duration before timing out write of the response.
	// If not specified, the default is 10 seconds.
	WriteTimeout time.Duration

	// IdleTimeout is the maximum amount of time to wait for the next request when keep-alives are enabled.
	// If not specified, the default is 10 seconds.
	IdleTimeout time.Duration

	// MaxHeaderBytes is the maximum number of bytes the server will read parsing the request header's keys and values,
	// If not specified, the default is 1MB (1 << 20).
	MaxHeaderBytes int

	// ListenAddr is the address to listen on.  If a Listener is provided, this value is ignored.
	ListenAddr string

	// Listener is the listener to use.  If nil, a new listener will be created.
	Listener net.Listener
}

Jump to

Keyboard shortcuts

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