Documentation ¶
Index ¶
- Variables
- func Balancer(config Config) fiber.Handler
- func BalancerForward(servers []string, clients ...*fasthttp.Client) fiber.Handler
- func Do(c *fiber.Ctx, addr string, clients ...*fasthttp.Client) error
- func DoDeadline(c *fiber.Ctx, addr string, deadline time.Time, clients ...*fasthttp.Client) error
- func DoRedirects(c *fiber.Ctx, addr string, maxRedirectsCount int, clients ...*fasthttp.Client) error
- func DoTimeout(c *fiber.Ctx, addr string, timeout time.Duration, clients ...*fasthttp.Client) error
- func DomainForward(hostname, addr string, clients ...*fasthttp.Client) fiber.Handler
- func Forward(addr string, clients ...*fasthttp.Client) fiber.Handler
- func New(config Config) fiber.Handler
- func WithClient(cli *fasthttp.Client)
- func WithTlsConfig(tlsConfig *tls.Config)
- type Config
Constants ¶
This section is empty.
Variables ¶
var ConfigDefault = Config{ Next: nil, ModifyRequest: nil, ModifyResponse: nil, Timeout: fasthttp.DefaultLBClientTimeout, }
ConfigDefault is the default config
Functions ¶
func Balancer ¶ added in v2.0.3
func Balancer(config Config) fiber.Handler
Balancer creates a load balancer among multiple upstream servers
func BalancerForward ¶ added in v2.42.0
BalancerForward Forward performs the given http request with round robin algorithm to server and fills the given http response. This method will return an fiber.Handler
func Do ¶ added in v2.0.3
Do performs the given http request and fills the given http response. This method can be used within a fiber.Handler
func DoDeadline ¶ added in v2.43.0
DoDeadline performs the given request and waits for response until the given deadline. This method can be used within a fiber.Handler
func DoRedirects ¶ added in v2.43.0
func DoRedirects(c *fiber.Ctx, addr string, maxRedirectsCount int, clients ...*fasthttp.Client) error
DoRedirects performs the given http request and fills the given http response, following up to maxRedirectsCount redirects. When the redirect count exceeds maxRedirectsCount, ErrTooManyRedirects is returned. This method can be used within a fiber.Handler
func DoTimeout ¶ added in v2.43.0
DoTimeout performs the given request and waits for response during the given timeout duration. This method can be used within a fiber.Handler
func DomainForward ¶ added in v2.42.0
DomainForward performs an http request based on the given domain and populates the given http response. This method will return an fiber.Handler
func Forward ¶ added in v2.0.3
Forward performs the given http request and fills the given http response. This method will return an fiber.Handler
func WithClient ¶ added in v2.39.0
WithClient sets the global proxy client. This function should be called before Do and Forward.
func WithTlsConfig ¶ added in v2.14.0
WithTlsConfig update http client with a user specified tls.config This function should be called before Do and Forward. Deprecated: use WithClient instead.
Types ¶
type Config ¶
type Config struct { // Next defines a function to skip this middleware when returned true. // // Optional. Default: nil Next func(c *fiber.Ctx) bool // Servers defines a list of <scheme>://<host> HTTP servers, // // which are used in a round-robin manner. // i.e.: "https://foobar.com, http://www.foobar.com" // // Required Servers []string // ModifyRequest allows you to alter the request // // Optional. Default: nil ModifyRequest fiber.Handler // ModifyResponse allows you to alter the response // // Optional. Default: nil ModifyResponse fiber.Handler // Timeout is the request timeout used when calling the proxy client // // Optional. Default: 1 second Timeout time.Duration // Per-connection buffer size for requests' reading. // This also limits the maximum header size. // Increase this buffer if your clients send multi-KB RequestURIs // and/or multi-KB headers (for example, BIG cookies). ReadBufferSize int // Per-connection buffer size for responses' writing. WriteBufferSize int // tls config for the http client. TlsConfig *tls.Config //nolint:stylecheck,revive // TODO: Rename to "TLSConfig" in v3 // Client is custom client when client config is complex. // Note that Servers, Timeout, WriteBufferSize, ReadBufferSize and TlsConfig // will not be used if the client are set. Client *fasthttp.LBClient }
Config defines the config for middleware.