httputils

package
v0.0.0-...-9a1ada9 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2021 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const APIVersionKey = "api-version"

APIVersionKey is the client's requested API version.

View Source
const UAStringKey = "upstream-user-agent"

UAStringKey is used as key type for user-agent string in net/context struct

Variables

This section is empty.

Functions

func BoolValue

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

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

func BoolValueOrDefault

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

func CheckForJSON(r *http.Request) error

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

func CloseStreams

func CloseStreams(streams ...interface{})

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

func HijackConnection

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

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

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 ParseForm

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 ParseMultipartForm

func ParseMultipartForm(r *http.Request) error

ParseMultipartForm ensures the request form is parsed, even with invalid content types.

func VersionFromContext

func VersionFromContext(ctx context.Context) (ver version.Version)

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

func WriteError

func WriteError(w http.ResponseWriter, err error)

WriteError decodes a specific docker error and sends it in the response.

func WriteJSON

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.

Types

type APIFunc

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 a API endpoint (e.g. getVersion).

type ArchiveOptions

type ArchiveOptions struct {
	Name string
	Path string
}

ArchiveOptions stores archive information for different operations.

func ArchiveFormValues

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.

Jump to

Keyboard shortcuts

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