26 lines
623 B
Go
26 lines
623 B
Go
package codec
|
|
|
|
import "io"
|
|
|
|
// CodecSelector interface provides a way to select encoder using the http
|
|
// request. Typically people can use this to check HEADER of the request and
|
|
// figure out client capabilities.
|
|
// Eg. "Accept-Encoding" tells about supported compressions.
|
|
type CodecSelector interface {
|
|
SelectByReader(r io.Reader) Codec
|
|
SelectByWriter(w io.Writer) Codec
|
|
}
|
|
|
|
type codecSelector struct {
|
|
}
|
|
|
|
func (_ *codecSelector) SelectByReader(_ io.Reader) Codec {
|
|
return DefaultCodec
|
|
}
|
|
|
|
func (_ *codecSelector) SelectByWriter(_ io.Writer) Codec {
|
|
return DefaultCodec
|
|
}
|
|
|
|
var DefaultCodecSelector = &codecSelector{}
|