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 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 TODO: support https config
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 {
// Upgrader specifies the parameters for upgrading a incoming HTTP
// connection to a WebSocket connection. If nil, DefaultUpgrader is used.
Upgrader *websocket.FastHTTPUpgrader
// Dialer contains options for connecting to the backend WebSocket server.
// If nil, DefaultDialer is used.
Dialer *websocket.Dialer
// contains filtered or unexported fields
}
WSReverseProxy . refer to https://github.com/koding/websocketproxy
func NewWSReverseProxy ¶
func NewWSReverseProxy(host, path string) *WSReverseProxy
NewWSReverseProxy .
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
|
|
|
ws-fasthttp-reverse-proxy
command
|
|
|
ws-fasthttp-reverse-proxy/client
command
|
|
|
ws-fasthttp-reverse-proxy/server
command
|