...

Package transport

import "github.com/docker/distribution/registry/client/transport"
Overview
Index

Overview ▾

Variables

var (

    // ErrWrongCodeForByteRange is returned if the client sends a request
    // with a Range header but the server returns a 2xx or 3xx code other
    // than 206 Partial Content.
    ErrWrongCodeForByteRange = errors.New("expected HTTP 206 from byte range request")
)

func NewTransport

func NewTransport(base http.RoundTripper, modifiers ...RequestModifier) http.RoundTripper

NewTransport creates a new transport which will apply modifiers to the request on a RoundTrip call.

type ReadSeekCloser

ReadSeekCloser combines io.ReadSeeker with io.Closer.

type ReadSeekCloser interface {
    io.ReadSeeker
    io.Closer
}

func NewHTTPReadSeeker

func NewHTTPReadSeeker(client *http.Client, url string, errorHandler func(*http.Response) error) ReadSeekCloser

NewHTTPReadSeeker handles reading from an HTTP endpoint using a GET request. When seeking and starting a read from a non-zero offset the a "Range" header will be added which sets the offset. TODO(dmcgowan): Move this into a separate utility package

type RequestModifier

RequestModifier represents an object which will do an inplace modification of an HTTP request.

type RequestModifier interface {
    ModifyRequest(*http.Request) error
}

func NewHeaderRequestModifier

func NewHeaderRequestModifier(header http.Header) RequestModifier

NewHeaderRequestModifier returns a new RequestModifier which will add the given headers to a request.