Documentation ¶
Overview ¶
Package httputil provides HTTP server implementation.
Index ¶
- type Server
- type ServerConfig
- type ServerOpt
- func Address(address string) ServerOpt
- func IdleTimeout(timeout time.Duration) ServerOpt
- func MaxHeaderBytes(maxHeaderBytes int) ServerOpt
- func ReadHeaderTimeout(timeout time.Duration) ServerOpt
- func ReadTimeout(timeout time.Duration) ServerOpt
- func RemoteIPHeaders(headers []string) ServerOpt
- func SecurityHeaders(securityHeaders bool) ServerOpt
- func ShutdownTimeout(timeout time.Duration) ServerOpt
- func TLS(cert, key string, tlsConfig ...*tls.Config) ServerOpt
- func TrustedProxies(trustedProxies []string) ServerOpt
- func WriteTimeout(timeout time.Duration) ServerOpt
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Server ¶
Server is an object representing gin.Engine and implementing the lifecycle.Service interface.
func (*Server) OnNoRoute ¶ added in v1.1.49
OnNoRoute sets a handler for requests that cannot be routed and would end up as 404s.
func (*Server) OnPanic ¶ added in v1.1.49
OnPanic sets a handler for requests that resulted in panic and would end up as 500s.
type ServerConfig ¶ added in v1.1.49
type ServerConfig struct { // Address is an address to bind server socket to (default: "0.0.0.0:8080"). Address string // SecurityHeaders defines whether to include HTTP security headers to all responses or not (default: true). SecurityHeaders bool // ShutdownTimeout defines a maximal timeout of HTTP server shutdown (default: 5s). ShutdownTimeout time.Duration // TLSCert is a path to TLS certificate to use. When specified with TLSKey - enables TLS mode. TLSCert string // TLSKey is a path to TLS key to use. When specified with TLSCert - enables TLS mode. TLSKey string // TLSConfig is an optional TLS configuration to pass when using TLS mode. TLSConfig *tls.Config // ReadTimeout is a timeout used when creating underlying http server (see http.Server) (default: 5s). ReadTimeout time.Duration // ReadHeaderTimeout is a timeout used when creating underlying http server (see http.Server). ReadHeaderTimeout time.Duration // WriteTimeout is a timeout used when creating underlying http server (see http.Server) (default: 10s). WriteTimeout time.Duration // IdleTimeout is a timeout used when creating underlying http server (see http.Server) (default 2m). IdleTimeout time.Duration // MaxHeaderBytes is a value used when creating underlying http server (see http.Server). MaxHeaderBytes int // TrustedProxies is a list of CIDR address ranges that can be trusted when handling RemoteIP header. // (default: "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", "127.0.0.0/8", "fc00::/7", "::1/128") TrustedProxies []string // RemoteIPHeaders is a list of headers that overwrite the value of client's remote address. // (default: "X-Forwarded-For") RemoteIPHeaders []string }
ServerConfig holds a configuration for NewServer.
type ServerOpt ¶
type ServerOpt = func(*ServerConfig)
ServerOpt is an option to be specified to NewServer.
func IdleTimeout ¶ added in v1.1.50
IdleTimeout is a timeout used when creating underlying http server (see http.Server).
func MaxHeaderBytes ¶ added in v1.1.50
MaxHeaderBytes is a value used when creating underlying http server (see http.Server).
func ReadHeaderTimeout ¶ added in v1.1.50
ReadHeaderTimeout is a timeout used when creating underlying http server (see http.Server).
func ReadTimeout ¶ added in v1.1.50
ReadTimeout is a timeout used when creating underlying http server (see http.Server).
func RemoteIPHeaders ¶ added in v1.1.50
RemoteIPHeaders is a list of headers that overwrite the value of client's remote address.
func SecurityHeaders ¶
SecurityHeaders defines whether to include HTTP security headers to all responses or not.
func ShutdownTimeout ¶
ShutdownTimeout defines a maximal timeout of HTTP server shutdown.
func TLS ¶ added in v1.1.50
TLS enables TLS mode if both cert and key point to valid TLS credentials. tlsConfig is optional.
func TrustedProxies ¶ added in v1.1.50
TrustedProxies is a list of CIDR address ranges that can be trusted when handling RemoteIP header.
func WriteTimeout ¶ added in v1.1.50
WriteTimeout is a timeout used when creating underlying http server (see http.Server).