Documentation ¶
Index ¶
- Variables
- func Balancer(config Config) fiber.Handler
- func Do(c *fiber.Ctx, addr string, clients ...*fasthttp.Client) error
- 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 ¶
View Source
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 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 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 // 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.
Click to show internal directories.
Click to hide internal directories.