 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package websocketproxy is a reverse proxy for WebSocket connections. Originally from https://github.com/koding/websocketproxy Changes made: added Ping handler to connPub, which sends ping to connBackend
Index ¶
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
var ( // DefaultUpgrader specifies the parameters for upgrading an HTTP // connection to a WebSocket connection. DefaultUpgrader = &websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, } // DefaultDialer is a dialer with all fields set to the default zero values. DefaultDialer = websocket.DefaultDialer )
Functions ¶
Types ¶
type WebsocketProxy ¶
type WebsocketProxy struct {
	// Director, if non-nil, is a function that may copy additional request
	// headers from the incoming WebSocket connection into the output headers
	// which will be forwarded to another server.
	Director func(incoming *http.Request, out http.Header)
	// Backend returns the backend URL which the proxy uses to reverse proxy
	// the incoming WebSocket connection. Request is the initial incoming and
	// unmodified request.
	Backend func(*http.Request) *url.URL
	// Upgrader specifies the parameters for upgrading a incoming HTTP
	// connection to a WebSocket connection. If nil, DefaultUpgrader is used.
	Upgrader *websocket.Upgrader
	//  Dialer contains options for connecting to the backend WebSocket server.
	//  If nil, DefaultDialer is used.
	Dialer *websocket.Dialer
}
    WebsocketProxy is an HTTP Handler that takes an incoming WebSocket connection and proxies it to another server.
func NewProxy ¶
func NewProxy(target *url.URL) *WebsocketProxy
NewProxy returns a new Websocket reverse proxy that rewrites the URL's to the scheme, host and base path provider in target.
func (*WebsocketProxy) ServeHTTP ¶
func (w *WebsocketProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request)
ServeHTTP implements the http.Handler that proxies WebSocket connections.
 Click to show internal directories. 
   Click to hide internal directories.