var _ … type FallbackExecutor … // NewFallbackExecutor creates an Executor that first attempts to use the // WebSocketExecutor, falling back to the legacy SPDYExecutor if the initial // websocket "StreamWithContext" call fails. // func NewFallbackExecutor(config *restclient.Config, method string, url *url.URL) (Executor, error) { func NewFallbackExecutor(primary, secondary Executor, shouldFallback func(error) bool) (Executor, error) { … } // Stream is deprecated. Please use "StreamWithContext". func (f *FallbackExecutor) Stream(options StreamOptions) error { … } // StreamWithContext initially attempts to call "StreamWithContext" using the // primary executor, falling back to calling the secondary executor if the // initial primary call to upgrade to a websocket connection fails. func (f *FallbackExecutor) StreamWithContext(ctx context.Context, options StreamOptions) error { … }