type TunnelingHandler …
func NewTunnelingHandler(upgradeHandler http.Handler) *TunnelingHandler { … }
func (h *TunnelingHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { … }
func createSPDYRequest(req *http.Request, spdyProtocols ...string) *http.Request { … }
func spdyProtocolsFromWebsocketProtocols(req *http.Request) []string { … }
var _ …
var _ …
type tunnelingResponseWriter …
func (w *tunnelingResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { … }
func (w *tunnelingResponseWriter) Header() http.Header { … }
func (w *tunnelingResponseWriter) Write(p []byte) (int, error) { … }
func (w *tunnelingResponseWriter) WriteHeader(statusCode int) { … }
type headerInterceptingConn …
type initializableConn …
const maxHeaderBytes …
var lfCRLF …
var lfLF …
func (h *headerInterceptingConn) Write(b []byte) (int, error) { … }
type tunnelingWebsocketUpgraderConn …
func (u *tunnelingWebsocketUpgraderConn) InitializeWrite(backendResponse *http.Response, backendResponseBytes []byte) (err error) { … }
func (u *tunnelingWebsocketUpgraderConn) Read(b []byte) (n int, err error) { … }
func (u *tunnelingWebsocketUpgraderConn) Write(b []byte) (n int, err error) { … }
func (u *tunnelingWebsocketUpgraderConn) Close() error { … }
func (u *tunnelingWebsocketUpgraderConn) LocalAddr() net.Addr { … }
func (u *tunnelingWebsocketUpgraderConn) RemoteAddr() net.Addr { … }
func (u *tunnelingWebsocketUpgraderConn) SetDeadline(t time.Time) error { … }
func (u *tunnelingWebsocketUpgraderConn) SetReadDeadline(t time.Time) error { … }
func (u *tunnelingWebsocketUpgraderConn) SetWriteDeadline(t time.Time) error { … }
type noopAddr …
func (n noopAddr) Network() string { … }
func (n noopAddr) String() string { … }