Documentation ¶
Index ¶
- Constants
- Variables
- func DurationToNanosBytes(r io.Reader) ([]byte, error)
- func DurationToNanosMap(input map[string]interface{}) (map[string]interface{}, error)
- func Error(w http.ResponseWriter, err error, code int)
- func IsInvalidParams(err error) bool
- 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 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 ErrorResponse
- type HTTPClientOptions
- type ParseError
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 ¶
var ( // ErrInvalidParams is returned when input parameters are invalid ErrInvalidParams = errors.New("invalid request params") )
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 IsInvalidParams ¶
IsInvalidParams returns true if this is an invalid params error
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 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 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 ParseError ¶
type ParseError struct {
// contains filtered or unexported fields
}
ParseError is the error from parsing requests
func NewParseError ¶
func NewParseError(inner error, code int) *ParseError
NewParseError creates a new parse error