1
0
mirror of https://github.com/ggicci/httpin.git synced 2024-11-24 08:32:45 +02:00
httpin/decoders.go
2021-05-08 22:46:16 +08:00

27 lines
557 B
Go

package httpin
import (
"reflect"
"github.com/ggicci/httpin/internal"
)
// Decoder is the interface implemented by types that can decode bytes to
// themselves.
type Decoder internal.Decoder
// DecoderFunc is an adaptor to allow the use of ordinary functions as httpin
// decoders.
type DecoderFunc internal.DecoderFunc
var decoders = map[reflect.Type]Decoder{} // custom decoders
// decoderOf retrieves a decoder by type.
func decoderOf(t reflect.Type) Decoder {
dec := decoders[t]
if dec != nil {
return dec
}
return internal.DecoderOf(t)
}