Documentation
¶
Overview ¶
Package proxy of reverse handler based fasthttp this lib ref to: Issue: https://github.com/valyala/fasthttp/issues/64 Code: https://golang.org/src/net/http/httputil/reverseproxy.go Pool Ref: https://github.com/fatih/pool/blob/master/channel.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // DefaultUpgrader specifies the parameters for upgrading an HTTP // connection to a WebSocket connection. DefaultUpgrader = &websocket.FastHTTPUpgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, } // DefaultDialer is a dialer with all fields set to the default zero values. DefaultDialer = websocket.DefaultDialer )
Functions ¶
Types ¶
type Factory ¶
type Factory func(string) (*ReverseProxy, error)
Factory the generator to creat ReverseProxy
type IBalancer ¶
type IBalancer interface {
Distribute() int
}
IBalancer .
func NewBalancer ¶
NewBalancer constructs a IBalancer instance which implements roundrobin algorithm.
type Option ¶
type Option interface {
// contains filtered or unexported methods
}
Option to define all options to reverse http proxy.
func WithBalancer ¶
WithBalancer generate balancer options
func WithTLS ¶
WithTLS build tls.Config with server certFile and keyFile. tlsConfig is nil as default
func WithTLSConfig ¶
func WithTimeout ¶
WithTimeout specify the timeout of each request
type OptionWS ¶ added in v2.2.0
type OptionWS interface {
// contains filtered or unexported methods
}
OptionWS to define all options to reverse web socket proxy.
func WithDialer_OptionWS ¶ added in v2.2.0
WithDialer_OptionWS use specified dialer
func WithForwardHeadersHandlers_OptionWS ¶ added in v2.2.0
func WithForwardHeadersHandlers_OptionWS(handler forwardHeaderHandler) OptionWS
WithForwardHeadersHandlers_OptionWS allows users to customize forward headers.
func WithURL_OptionWS ¶ added in v2.2.0
WithURL_OptionWS specify the url to backend websocket server. WithURL_OptionWS("ws://YOUR_WEBSOCKET_HOST:PORT/AND/PATH")
func WithUpgrader_OptionWS ¶ added in v2.2.0
func WithUpgrader_OptionWS(upgrader *websocket.FastHTTPUpgrader) OptionWS
WithUpgrader_OptionWS use specified upgrader.
type Pool ¶
type Pool interface {
// Get returns a new ReverseProxy from the pool.
Get(string) (*ReverseProxy, error)
// Put Reseting the ReverseProxy puts it back to the Pool.
Put(*ReverseProxy) error
// Close closes the pool and all its connections. After Close() the pool is
// no longer usable.
Close()
// Len returns the current number of connections of the pool.
Len() int
}
Pool interface ... this interface ref to: https://github.com/fatih/pool/blob/master/pool.go
type Proxier ¶
type Proxier interface {
ServeHTTP(ctx *fasthttp.RequestCtx)
// ?
SetClient(addr string) Proxier
// Reset .
Reset()
// Close .
Close()
}
Proxier can be HTTP or WebSocket proxier TODO:
type ReverseProxy ¶
type ReverseProxy struct {
// contains filtered or unexported fields
}
ReverseProxy reverse handler using fasthttp.HostClient
func NewReverseProxy ¶
func NewReverseProxy(oldAddr string, opts ...Option) *ReverseProxy
NewReverseProxy create an ReverseProxy with options
func (*ReverseProxy) ServeHTTP ¶
func (p *ReverseProxy) ServeHTTP(ctx *fasthttp.RequestCtx)
ServeHTTP ReverseProxy to serve ref to: https://golang.org/src/net/http/httputil/reverseproxy.go#L169
func (*ReverseProxy) SetClient ¶
func (p *ReverseProxy) SetClient(addr string) *ReverseProxy
SetClient ...
type WSReverseProxy ¶
type WSReverseProxy struct {
// contains filtered or unexported fields
}
WSReverseProxy . refer to https://github.com/koding/websocketproxy
func NewWSReverseProxy ¶
func NewWSReverseProxy(host, path string) *WSReverseProxy
NewWSReverseProxy constructs a new WSReverseProxy to serve requests. Deprecated. NewWSReverseProxyWith is recommended.
func NewWSReverseProxyWith ¶ added in v2.2.0
func NewWSReverseProxyWith(opts ...OptionWS) (*WSReverseProxy, error)
NewWSReverseProxyWith constructs a new WSReverseProxy with options.
func (*WSReverseProxy) ServeHTTP ¶
func (w *WSReverseProxy) ServeHTTP(ctx *fasthttp.RequestCtx)
ServeHTTP WSReverseProxy to serve
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
fasthttp-reverse-proxy
command
|
|
|
fasthttp-reverse-proxy-with-bla
command
|
|
|
fasthttp-reverse-proxy-with-pool
command
|
|
|
http-reverse-proxy
command
|
|
|
https-reverse-proxy
command
|
|
|
https-reverse-proxy/server
command
|
|
|
ws-fasthttp-reverse-proxy
command
|
|
|
ws-fasthttp-reverse-proxy/client
command
|
|
|
ws-fasthttp-reverse-proxy/server
command
|