var _ … var _ … var statusScheme … var statusCodecs … func init() { … } type ConnectionHolder … type RoundTripper … // Connection returns the stored websocket connection. func (rt *RoundTripper) Connection() *gwebsocket.Conn { … } // DataBufferSize returns the size of buffers for the // websocket connection. func (rt *RoundTripper) DataBufferSize() int { … } // TLSClientConfig implements pkg/util/net.TLSClientConfigHolder. func (rt *RoundTripper) TLSClientConfig() *tls.Config { … } // RoundTrip connects to the remote websocket using the headers in the request and the TLS // configuration from the config func (rt *RoundTripper) RoundTrip(request *http.Request) (retResp *http.Response, retErr error) { … } // RoundTripperFor transforms the passed rest config into a wrapped roundtripper, as well // as a pointer to the websocket RoundTripper. The websocket RoundTripper contains the // websocket connection after RoundTrip() on the wrapper. Returns an error if there is // a problem creating the round trippers. func RoundTripperFor(config *restclient.Config) (http.RoundTripper, ConnectionHolder, error) { … } // Negotiate opens a connection to a remote server and attempts to negotiate // a WebSocket connection. Upon success, it returns the negotiated connection. // The round tripper rt must use the WebSocket round tripper wsRt - see RoundTripperFor. func Negotiate(rt http.RoundTripper, connectionInfo ConnectionHolder, req *http.Request, protocols ...string) (*gwebsocket.Conn, error) { … }