Documentation ¶
Index ¶
- Constants
- func DurationToNanosBytes(r io.Reader) ([]byte, error)
- func DurationToNanosMap(input map[string]interface{}) (map[string]interface{}, error)
- func NanosToDurationBytes(r io.Reader) (map[string]interface{}, error)
- func NanosToDurationMap(input map[string]interface{}) (map[string]interface{}, error)
- func NewHTTPClient(o HTTPClientOptions) *http.Client
- func WriteError(w http.ResponseWriter, err error, opts ...WriteErrorOption)
- func WriteJSONResponse(w http.ResponseWriter, data interface{}, logger *zap.Logger)
- func WriteProtoMsgJSONResponse(w http.ResponseWriter, data proto.Message, logger *zap.Logger)
- func WriteUninitializedResponse(w http.ResponseWriter, logger *zap.Logger)
- type Error
- type ErrorResponse
- type HTTPClientOptions
- type WriteErrorOption
Constants ¶
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 ¶
DurationToNanosBytes transforms a json byte slice with Duration keys into Nanos
func DurationToNanosMap ¶
DurationToNanosMap transforms keys with a Duration into Nanos
func NanosToDurationBytes ¶ added in v0.10.0
NanosToDurationBytes transforms a json byte slice with Nano keys into Duration keys.
func NanosToDurationMap ¶ added in v0.10.0
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 ¶
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.
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.