Documentation
¶
Index ¶
- Variables
- func DecodeMapToStruct(in map[string]string, out interface{}) error
- func EncodeStructToMap(in interface{}, out *map[string]string) error
- func GetFieldName(field reflect.StructField) (name string, required, omitted bool)
- func MakeErrorEncoder(codec Codec) kithttp.ErrorEncoder
- func MakeResponseEncoder(codec Codec, statusCode int) kithttp.EncodeResponseFunc
- func QueryListToString(l []string) string
- func QueryStringToList(s string) (l []string)
- type Bodier
- type Codec
- type CodecMap
- type Codecs
- type Error
- type FailureResponse
- type JSONCodec
- func (jc JSONCodec) DecodeFailureResponse(body io.ReadCloser, out *error) error
- func (jc JSONCodec) DecodeRequestBody(body io.ReadCloser, out interface{}) error
- func (jc JSONCodec) DecodeRequestParam(name, value string, out interface{}) error
- func (jc JSONCodec) DecodeRequestParams(name string, values map[string]string, out interface{}) error
- func (jc JSONCodec) DecodeSuccessResponse(body io.ReadCloser, out interface{}) error
- func (jc JSONCodec) EncodeFailureResponse(w http.ResponseWriter, err error) error
- func (jc JSONCodec) EncodeRequestBody(body interface{}) (io.Reader, map[string]string, error)
- func (jc JSONCodec) EncodeRequestParam(name string, value interface{}) string
- func (jc JSONCodec) EncodeRequestParams(name string, value interface{}) map[string]string
- func (jc JSONCodec) EncodeSuccessResponse(w http.ResponseWriter, statusCode int, body interface{}) error
- type ParamCodec
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrUnsupportedType = errors.New("unsupported type") ErrMissingRequired = errors.New("missing required field") )
Functions ¶
func DecodeMapToStruct ¶
DecodeMapToStruct decodes a value from map[string]string to struct (or *struct).
func EncodeStructToMap ¶
DecodeMapToStruct encode a value from struct (or *struct) to map[string]string.
func GetFieldName ¶
func GetFieldName(field reflect.StructField) (name string, required, omitted bool)
func MakeErrorEncoder ¶
func MakeErrorEncoder(codec Codec) kithttp.ErrorEncoder
func MakeResponseEncoder ¶
func MakeResponseEncoder(codec Codec, statusCode int) kithttp.EncodeResponseFunc
func QueryListToString ¶
func QueryStringToList ¶
Types ¶
type Codec ¶
type Codec interface {
// Encoders and decoders used at the server side.
DecodeRequestParam(name, value string, out interface{}) error
DecodeRequestParams(name string, values map[string]string, out interface{}) error
DecodeRequestBody(body io.ReadCloser, out interface{}) error
EncodeSuccessResponse(w http.ResponseWriter, statusCode int, body interface{}) error
EncodeFailureResponse(w http.ResponseWriter, err error) error
// Encoders and decoders used at the client side.
EncodeRequestParam(name string, value interface{}) string
EncodeRequestParams(name string, value interface{}) map[string]string
EncodeRequestBody(body interface{}) (io.Reader, map[string]string, error)
DecodeSuccessResponse(body io.ReadCloser, out interface{}) error
DecodeFailureResponse(body io.ReadCloser, out *error) error
}
type CodecMap ¶
func (CodecMap) EncodeDecoder ¶
type FailureResponse ¶
type FailureResponse struct {
Error Error `json:"error"`
}
type JSONCodec ¶
type JSONCodec struct {
// contains filtered or unexported fields
}
func NewJSONCodec ¶
func NewJSONCodec(paramCodecs map[string]ParamCodec) JSONCodec
func (JSONCodec) DecodeFailureResponse ¶
func (jc JSONCodec) DecodeFailureResponse(body io.ReadCloser, out *error) error
func (JSONCodec) DecodeRequestBody ¶
func (jc JSONCodec) DecodeRequestBody(body io.ReadCloser, out interface{}) error
func (JSONCodec) DecodeRequestParam ¶
func (JSONCodec) DecodeRequestParams ¶
func (JSONCodec) DecodeSuccessResponse ¶
func (jc JSONCodec) DecodeSuccessResponse(body io.ReadCloser, out interface{}) error
func (JSONCodec) EncodeFailureResponse ¶
func (jc JSONCodec) EncodeFailureResponse(w http.ResponseWriter, err error) error
func (JSONCodec) EncodeRequestBody ¶
func (JSONCodec) EncodeRequestParam ¶
func (JSONCodec) EncodeRequestParams ¶
func (JSONCodec) EncodeSuccessResponse ¶
func (jc JSONCodec) EncodeSuccessResponse(w http.ResponseWriter, statusCode int, body interface{}) error
type ParamCodec ¶
type ParamCodec struct {
OnDecode func(value string) (interface{}, error)
OnEncode func(value interface{}) string
}
func (ParamCodec) Decode ¶
func (pc ParamCodec) Decode(name, value string, out interface{}) error
func (ParamCodec) Encode ¶
func (pc ParamCodec) Encode(name string, value interface{}) string
Click to show internal directories.
Click to hide internal directories.