xhttp

package
v1.0.0-rc.3 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2020 License: Apache-2.0 Imports: 13 Imported by: 33

Documentation

Index

Constants

View Source
const (
	// HeaderContentType is the HTTP Content Type header.
	HeaderContentType = "Content-Type"

	// ContentTypeJSON is the Content-Type value for a JSON response.
	ContentTypeJSON = "application/json"

	// ContentTypeFormURLEncoded is the Content-Type value for a URL-encoded form.
	ContentTypeFormURLEncoded = "application/x-www-form-urlencoded"

	// ContentTypeHTMLUTF8 is the Content-Type value for UTF8-encoded HTML.
	ContentTypeHTMLUTF8 = "text/html; charset=utf-8"

	// ContentTypeProtobuf is the Content-Type value for a Protobuf message.
	ContentTypeProtobuf = "application/x-protobuf"

	// ContentTypeOctetStream is the Content-Type value for binary data.
	ContentTypeOctetStream = "application/octet-stream"
)

Variables

This section is empty.

Functions

func DurationToNanosBytes

func DurationToNanosBytes(r io.Reader) ([]byte, error)

DurationToNanosBytes transforms a json byte slice with Duration keys into Nanos

func DurationToNanosMap

func DurationToNanosMap(input map[string]interface{}) (map[string]interface{}, error)

DurationToNanosMap transforms keys with a Duration into Nanos

func NanosToDurationBytes added in v0.10.0

func NanosToDurationBytes(r io.Reader) (map[string]interface{}, error)

NanosToDurationBytes transforms a json byte slice with Nano keys into Duration keys.

func NanosToDurationMap added in v0.10.0

func NanosToDurationMap(input map[string]interface{}) (map[string]interface{}, error)

NanosToDurationMap transforms keys with Nanos into Duration.

func NewHTTPClient added in v0.13.0

func NewHTTPClient(o HTTPClientOptions) *http.Client

NewHTTPClient constructs a new HTTP Client.

func WriteError added in v1.0.0

func WriteError(w http.ResponseWriter, err error, opts ...WriteErrorOption)

WriteError will serve an HTTP error.

func WriteJSONResponse

func WriteJSONResponse(w http.ResponseWriter, data interface{}, logger *zap.Logger)

WriteJSONResponse writes generic data to the ResponseWriter

func WriteProtoMsgJSONResponse

func WriteProtoMsgJSONResponse(w http.ResponseWriter, data proto.Message, logger *zap.Logger)

WriteProtoMsgJSONResponse writes a protobuf message to the ResponseWriter. This uses jsonpb for json marshalling, which encodes fields with default values, even with the omitempty tag.

func WriteUninitializedResponse

func WriteUninitializedResponse(w http.ResponseWriter, logger *zap.Logger)

WriteUninitializedResponse writes a protobuf message to the ResponseWriter

Types

type Error

type Error interface {
	// Fulfill error interface.
	error

	// Embedding ContainedError allows for the inner error
	// to be retrieved with all existing error helpers.
	xerrors.ContainedError

	// Code returns the status code to return to end users.
	Code() int
}

Error is an HTTP JSON error that also sets a return status code.

func NewError added in v1.0.0

func NewError(err error, status int) Error

NewError creates a new error with an explicit status code which will override any wrapped error to return specifically the exact error code desired.

type ErrorResponse added in v0.7.0

type ErrorResponse struct {
	Error string `json:"error"`
}

ErrorResponse is a generic response for an HTTP error.

type HTTPClientOptions added in v0.13.0

type HTTPClientOptions struct {
	RequestTimeout     time.Duration `yaml:"requestTimeout"`
	ConnectTimeout     time.Duration `yaml:"connectTimeout"`
	KeepAlive          time.Duration `yaml:"keepAlive"`
	IdleConnTimeout    time.Duration `yaml:"idleConnTimeout"`
	MaxIdleConns       int           `yaml:"maxIdleConns"`
	DisableCompression bool          `yaml:"disableCompression"`
}

HTTPClientOptions specify HTTP Client options.

func DefaultHTTPClientOptions added in v0.13.0

func DefaultHTTPClientOptions() HTTPClientOptions

DefaultHTTPClientOptions returns default options.

type WriteErrorOption added in v1.0.0

type WriteErrorOption func(*options)

WriteErrorOption is an option to pass to WriteError.

func WithErrorResponse added in v1.0.0

func WithErrorResponse(b []byte) WriteErrorOption

WithErrorResponse specifies a response to add the WriteError method.

Directories

Path Synopsis
Package cors handles cross-origin HTTP requests (CORS).
Package cors handles cross-origin HTTP requests (CORS).

Jump to

Keyboard shortcuts

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