proxy

package
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2015 License: Apache-2.0 Imports: 25 Imported by: 27

Documentation

Overview

Based on net/http/internal

Index

Constants

View Source
const MaxDockerHostname = 64

Variables

View Source
var (
	ErrLineTooLong        = errors.New("header line too long")
	ErrInvalidChunkLength = errors.New("invalid byte in chunk length")
)
View Source
var (
	ErrWeaveCIDRNone = errors.New("the container was created with the '-e WEAVE_CIDR=none' option")
	ErrNoDefaultIPAM = errors.New("the container was created without specifying an IP address with '-e WEAVE_CIDR=...' and the proxy was started with the '--no-default-ipalloc' option")
)
View Source
var (
	ErrNoCommandSpecified = errors.New("No command specified")
)

Functions

This section is empty.

Types

type ChunkedReader added in v1.1.0

type ChunkedReader struct {
	// contains filtered or unexported fields
}

func NewChunkedReader added in v1.1.0

func NewChunkedReader(r io.Reader) *ChunkedReader

Unlike net/http/internal.chunkedReader, this has an interface where we can handle individual chunks. The interface is based on database/sql.Rows.

func (*ChunkedReader) Chunk added in v1.1.0

func (cr *ChunkedReader) Chunk() io.Reader

Chunk returns the io.Reader of the current chunk. On each call, this returns the same io.Reader for a given chunk.

func (*ChunkedReader) Err added in v1.1.0

func (cr *ChunkedReader) Err() error

Err returns the error, if any, that was encountered during iteration.

func (*ChunkedReader) Next added in v1.1.0

func (cr *ChunkedReader) Next() bool

Next prepares the next chunk for reading. It returns true on success, or false if there is no next chunk or an error happened while preparing it. Err should be consulted to distinguish between the two cases.

Every call to Chunk, even the first one, must be preceded by a call to Next.

Calls to Next will discard any unread bytes in the current Chunk.

type Config added in v1.0.0

type Config struct {
	HostnameFromLabel   string
	HostnameMatch       string
	HostnameReplacement string
	ListenAddrs         []string
	RewriteInspect      bool
	NoDefaultIPAM       bool
	NoRewriteHosts      bool
	TLSConfig           TLSConfig
	Version             string
	WithDNS             bool
	WithoutDNS          bool
}

type ErrNoSuchImage added in v1.0.1

type ErrNoSuchImage struct {
	Name string
}

ErrNoSuchImage replaces docker.NoSuchImage, which does not contain the image name, which in turn breaks docker clients post 1.7.0 since they expect the image name to be present in errors.

func (*ErrNoSuchImage) Error added in v1.0.1

func (err *ErrNoSuchImage) Error() string

type Proxy

type Proxy struct {
	Config
	// contains filtered or unexported fields
}

func NewProxy

func NewProxy(c Config) (*Proxy, error)

func (*Proxy) Dial

func (proxy *Proxy) Dial() (net.Conn, error)

func (*Proxy) Intercept added in v1.0.0

func (proxy *Proxy) Intercept(i interceptor, w http.ResponseWriter, r *http.Request)

func (*Proxy) ListenAndServe added in v1.0.0

func (proxy *Proxy) ListenAndServe()

func (*Proxy) ServeHTTP

func (proxy *Proxy) ServeHTTP(w http.ResponseWriter, r *http.Request)

type TLSConfig added in v1.0.0

type TLSConfig struct {
	Enabled, Verify   bool
	Cert, Key, CACert string
	*tls.Config
}

type UnmarshalWrongTypeError added in v1.1.0

type UnmarshalWrongTypeError struct {
	Field, Expected string
	Got             interface{}
}

func (*UnmarshalWrongTypeError) Error added in v1.1.0

func (e *UnmarshalWrongTypeError) Error() string

Jump to

Keyboard shortcuts

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