httptransport

package
v3.13.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2021 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Overview

Package httptransport contains HTTP transport extensions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ByteCountingTransport

type ByteCountingTransport struct {
	RoundTripper
	Counter *bytecounter.Counter
}

ByteCountingTransport is a RoundTripper that counts bytes.

func (ByteCountingTransport) RoundTrip

func (txp ByteCountingTransport) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip implements RoundTripper.RoundTrip

type Config

type Config struct {
	Dialer     Dialer
	QUICDialer QUICDialer
	TLSDialer  TLSDialer
	TLSConfig  *tls.Config
}

Config contains the configuration required for constructing an HTTP transport

type Dialer

type Dialer interface {
	DialContext(ctx context.Context, network, address string) (net.Conn, error)
}

Dialer is the definition of dialer assumed by this package.

type NoLogger added in v3.13.0

type NoLogger struct{}

func (*NoLogger) Debug added in v3.13.0

func (*NoLogger) Debug(message string)

func (*NoLogger) Debugf added in v3.13.0

func (*NoLogger) Debugf(format string, v ...interface{})

type QUICDialer

type QUICDialer interface {
	DialContext(ctx context.Context, network, addr string, tlsCfg *tls.Config, cfg *quic.Config) (quic.EarlySession, error)
}

QUICDialer is the definition of dialer for QUIC assumed by this package.

type Resolver

type Resolver interface {
	LookupHost(ctx context.Context, hostname string) (addrs []string, err error)
	Network() string
	Address() string
}

Resolver is the interface we expect from a resolver

type RoundTripper

type RoundTripper interface {
	RoundTrip(req *http.Request) (*http.Response, error)
	CloseIdleConnections()
}

RoundTripper is the definition of http.RoundTripper used by this package.

func NewHTTP3Transport

func NewHTTP3Transport(config Config) RoundTripper

NewHTTP3Transport creates a new HTTP3Transport instance.

Deprecation warning

New code should use netxlite.NewHTTP3Transport instead.

func NewSystemTransport

func NewSystemTransport(config Config) RoundTripper

NewSystemTransport creates a new "system" HTTP transport. That is a transport using the Go standard library with custom dialer and TLS dialer.

Deprecation warning

New code should use netxlite.NewHTTPTransport instead.

type SaverBodyHTTPTransport

type SaverBodyHTTPTransport struct {
	RoundTripper
	Saver        *trace.Saver
	SnapshotSize int
}

SaverBodyHTTPTransport is a RoundTripper that saves body events occurring during the round trip

func (SaverBodyHTTPTransport) RoundTrip

func (txp SaverBodyHTTPTransport) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip implements RoundTripper.RoundTrip

type SaverMetadataHTTPTransport

type SaverMetadataHTTPTransport struct {
	RoundTripper
	Saver     *trace.Saver
	Transport string
}

SaverMetadataHTTPTransport is a RoundTripper that saves events related to HTTP request and response metadata

func (SaverMetadataHTTPTransport) CloneHeaders added in v3.13.0

func (txp SaverMetadataHTTPTransport) CloneHeaders(req *http.Request) http.Header

CloneHeaders returns a clone of the headers where we have also set the host header, which normally is not set by golang until it serializes the request itself.

func (SaverMetadataHTTPTransport) RoundTrip

func (txp SaverMetadataHTTPTransport) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip implements RoundTripper.RoundTrip

type SaverPerformanceHTTPTransport

type SaverPerformanceHTTPTransport struct {
	RoundTripper
	Saver *trace.Saver
}

SaverPerformanceHTTPTransport is a RoundTripper that saves performance events occurring during the round trip

func (SaverPerformanceHTTPTransport) RoundTrip

func (txp SaverPerformanceHTTPTransport) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip implements RoundTripper.RoundTrip

type SaverTransactionHTTPTransport

type SaverTransactionHTTPTransport struct {
	RoundTripper
	Saver *trace.Saver
}

SaverTransactionHTTPTransport is a RoundTripper that saves events related to the HTTP transaction

func (SaverTransactionHTTPTransport) RoundTrip

func (txp SaverTransactionHTTPTransport) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip implements RoundTripper.RoundTrip

type TLSDialer

type TLSDialer interface {
	DialTLSContext(ctx context.Context, network, address string) (net.Conn, error)
}

TLSDialer is the definition of a TLS dialer assumed by this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL