Documentation ¶
Index ¶
- Constants
- func NewClientConnection(conn net.Conn) (httpstream.Connection, error)
- func NewClientConnectionWithPings(conn net.Conn, pingPeriod time.Duration) (httpstream.Connection, error)
- func NewResponseUpgrader() httpstream.ResponseUpgrader
- func NewResponseUpgraderWithPings(pingPeriod time.Duration) httpstream.ResponseUpgrader
- func NewServerConnection(conn net.Conn, newStreamHandler httpstream.NewStreamHandler) (httpstream.Connection, error)
- func NewServerConnectionWithPings(conn net.Conn, newStreamHandler httpstream.NewStreamHandler, ...) (httpstream.Connection, error)
- type RoundTripperConfig
- type SpdyRoundTripper
Constants ¶
const HeaderSpdy31 = "SPDY/3.1"
Variables ¶
This section is empty.
Functions ¶
func NewClientConnection ¶
func NewClientConnection(conn net.Conn) (httpstream.Connection, error)
NewClientConnection creates a new SPDY client connection.
func NewClientConnectionWithPings ¶ added in v0.20.0
func NewClientConnectionWithPings(conn net.Conn, pingPeriod time.Duration) (httpstream.Connection, error)
NewClientConnectionWithPings creates a new SPDY client connection.
If pingPeriod is non-zero, a background goroutine will send periodic Ping frames to the server. Use this to keep idle connections through certain load balancers alive longer.
func NewResponseUpgrader ¶
func NewResponseUpgrader() httpstream.ResponseUpgrader
NewResponseUpgrader returns a new httpstream.ResponseUpgrader that is capable of upgrading HTTP responses using SPDY/3.1 via the spdystream package.
func NewResponseUpgraderWithPings ¶ added in v0.20.0
func NewResponseUpgraderWithPings(pingPeriod time.Duration) httpstream.ResponseUpgrader
NewResponseUpgraderWithPings returns a new httpstream.ResponseUpgrader that is capable of upgrading HTTP responses using SPDY/3.1 via the spdystream package.
If pingPeriod is non-zero, for each incoming connection a background goroutine will send periodic Ping frames to the server. Use this to keep idle connections through certain load balancers alive longer.
func NewServerConnection ¶
func NewServerConnection(conn net.Conn, newStreamHandler httpstream.NewStreamHandler) (httpstream.Connection, error)
NewServerConnection creates a new SPDY server connection. newStreamHandler will be invoked when the server receives a newly created stream from the client.
func NewServerConnectionWithPings ¶ added in v0.20.0
func NewServerConnectionWithPings(conn net.Conn, newStreamHandler httpstream.NewStreamHandler, pingPeriod time.Duration) (httpstream.Connection, error)
NewServerConnectionWithPings creates a new SPDY server connection. newStreamHandler will be invoked when the server receives a newly created stream from the client.
If pingPeriod is non-zero, a background goroutine will send periodic Ping frames to the server. Use this to keep idle connections through certain load balancers alive longer.
Types ¶
type RoundTripperConfig ¶ added in v0.20.0
type RoundTripperConfig struct { // TLS configuration used by the round tripper if UpgradeTransport not present. TLS *tls.Config // Proxier is a proxy function invoked on each request. Optional. Proxier func(*http.Request) (*url.URL, error) // PingPeriod is a period for sending SPDY Pings on the connection. // Optional. PingPeriod time.Duration // UpgradeTransport is a subtitute transport used for dialing. If set, // this field will be used instead of "TLS" and "Proxier" for connection creation. // Optional. UpgradeTransport http.RoundTripper }
RoundTripperConfig is a set of options for an SpdyRoundTripper.
type SpdyRoundTripper ¶
type SpdyRoundTripper struct { // Dialer is the dialer used to connect. Used if non-nil. Dialer *net.Dialer // contains filtered or unexported fields }
SpdyRoundTripper knows how to upgrade an HTTP request to one that supports multiplexed streams. After RoundTrip() is invoked, Conn will be set and usable. SpdyRoundTripper implements the UpgradeRoundTripper interface.
func NewRoundTripper ¶
func NewRoundTripper(tlsConfig *tls.Config) (*SpdyRoundTripper, error)
NewRoundTripper creates a new SpdyRoundTripper that will use the specified tlsConfig.
func NewRoundTripperWithConfig ¶ added in v0.20.0
func NewRoundTripperWithConfig(cfg RoundTripperConfig) (*SpdyRoundTripper, error)
NewRoundTripperWithConfig creates a new SpdyRoundTripper with the specified configuration. Returns an error if the SpdyRoundTripper is misconfigured.
func NewRoundTripperWithProxy ¶ added in v0.19.0
func NewRoundTripperWithProxy(tlsConfig *tls.Config, proxier func(*http.Request) (*url.URL, error)) (*SpdyRoundTripper, error)
NewRoundTripperWithProxy creates a new SpdyRoundTripper that will use the specified tlsConfig and proxy func.
func (*SpdyRoundTripper) NewConnection ¶
func (s *SpdyRoundTripper) NewConnection(resp *http.Response) (httpstream.Connection, error)
NewConnection validates the upgrade response, creating and returning a new httpstream.Connection if there were no errors.
func (*SpdyRoundTripper) RoundTrip ¶
RoundTrip executes the Request and upgrades it. After a successful upgrade, clients may call SpdyRoundTripper.Connection() to retrieve the upgraded connection.
func (*SpdyRoundTripper) TLSClientConfig ¶
func (s *SpdyRoundTripper) TLSClientConfig() *tls.Config
TLSClientConfig implements pkg/util/net.TLSClientConfigHolder for proper TLS checking during proxying with a spdy roundtripper.