docker: github.com/docker/docker/api/server/httputils Index | Files

package httputils

import "github.com/docker/docker/api/server/httputils"

Index

Package Files

decoder.go errors_deprecated.go form.go httputils.go httputils_write_json.go write_log_stream.go

func BoolValue Uses

func BoolValue(r *http.Request, k string) bool

BoolValue transforms a form value in different formats into a boolean type.

func BoolValueOrDefault Uses

func BoolValueOrDefault(r *http.Request, k string, d bool) bool

BoolValueOrDefault returns the default bool passed if the query param is missing, otherwise it's just a proxy to boolValue above.

func CheckForJSON Uses

func CheckForJSON(r *http.Request) error

CheckForJSON makes sure that the request's Content-Type is application/json.

func CloseStreams Uses

func CloseStreams(streams ...interface{})

CloseStreams ensures that a list for http streams are properly closed.

func GetHTTPErrorStatusCode Uses

func GetHTTPErrorStatusCode(err error) int

GetHTTPErrorStatusCode retrieves status code from error message.

Deprecated: use errdefs.GetHTTPErrorStatusCode

func HijackConnection Uses

func HijackConnection(w http.ResponseWriter) (io.ReadCloser, io.Writer, error)

HijackConnection interrupts the http response writer to get the underlying connection and operate with it.

func Int64ValueOrDefault Uses

func Int64ValueOrDefault(r *http.Request, field string, def int64) (int64, error)

Int64ValueOrDefault parses a form value into an int64 type. If there is an error, returns the error. If there is no value returns the default value.

func Int64ValueOrZero Uses

func Int64ValueOrZero(r *http.Request, k string) int64

Int64ValueOrZero parses a form value into an int64 type. It returns 0 if the parsing fails.

func MakeErrorHandler Uses

func MakeErrorHandler(err error) http.HandlerFunc

MakeErrorHandler makes an HTTP handler that decodes a Docker error and returns it in the response.

func ParseForm Uses

func ParseForm(r *http.Request) error

ParseForm ensures the request form is parsed even with invalid content types. If we don't do this, POST method without Content-type (even with empty body) will fail.

func VersionFromContext Uses

func VersionFromContext(ctx context.Context) string

VersionFromContext returns an API version from the context using APIVersionKey. It panics if the context value does not have version.Version type.

func WriteJSON Uses

func WriteJSON(w http.ResponseWriter, code int, v interface{}) error

WriteJSON writes the value v to the http response stream as json with standard json encoding.

func WriteLogStream Uses

func WriteLogStream(_ context.Context, w io.Writer, msgs <-chan *backend.LogMessage, config *types.ContainerLogsOptions, mux bool)

WriteLogStream writes an encoded byte stream of log messages from the messages channel, multiplexing them with a stdcopy.Writer if mux is true

type APIFunc Uses

type APIFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error

APIFunc is an adapter to allow the use of ordinary functions as Docker API endpoints. Any function that has the appropriate signature can be registered as an API endpoint (e.g. getVersion).

type APIVersionKey Uses

type APIVersionKey struct{}

APIVersionKey is the client's requested API version.

type ArchiveOptions Uses

type ArchiveOptions struct {
    Name string
    Path string
}

ArchiveOptions stores archive information for different operations.

func ArchiveFormValues Uses

func ArchiveFormValues(r *http.Request, vars map[string]string) (ArchiveOptions, error)

ArchiveFormValues parses form values and turns them into ArchiveOptions. It fails if the archive name and path are not in the request.

type ContainerDecoder Uses

type ContainerDecoder interface {
    DecodeConfig(src io.Reader) (*container.Config, *container.HostConfig, *network.NetworkingConfig, error)
    DecodeHostConfig(src io.Reader) (*container.HostConfig, error)
}

ContainerDecoder specifies how to translate an io.Reader into container configuration.

Package httputils imports 23 packages (graph) and is imported by 4439 packages. Updated 2019-10-28. Refresh now. Tools for package owners.