encoding

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2023 License: BSD-3-Clause Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoEncoderAvailable = errors.New("codec not available")

Functions

func RegisterCodec

func RegisterCodec(codec Codec, mimes ...string)

Types

type Codec

type Codec struct {
	NewEncoder NewEncoderFunc
	NewDecoder NewDecoderFunc
}

func WrapCodec

func WrapCodec[E Encoder, EFunc func(w io.Writer) E, D Decoder, DFunc func(r io.Reader) D](encoderFunc EFunc, decoderFunc DFunc) Codec

type Codecs added in v0.1.4

type Codecs struct {
	Codecs           map[string]Codec
	OrderedMimeTypes []string
}

func AvailableCodecs

func AvailableCodecs() Codecs

func (*Codecs) Register added in v0.1.4

func (c *Codecs) Register(codec Codec, mimes ...string)

type Decoder

type Decoder interface {
	Decode(v interface{}) error
}

func ContentTypeDecoder

func ContentTypeDecoder(r io.Reader, contentTypeHeader string) Decoder

type EditMode

type EditMode bool
const (
	EditOff EditMode = false
	EditOn  EditMode = true
)

type Encoder

type Encoder interface {
	Encode(v interface{}) error
}

func AcceptEncoder

func AcceptEncoder(w http.ResponseWriter, acceptHeader string, edit EditMode) Encoder

type NewDecoderFunc

type NewDecoderFunc func(r io.Reader) Decoder

func WrapDecoder

func WrapDecoder[D Decoder, F func(r io.Reader) D](f F) NewDecoderFunc

type NewEncoderFunc

type NewEncoderFunc func(w io.Writer) Encoder

func WrapEncoder

func WrapEncoder[E Encoder, F func(w io.Writer) E](f F) NewEncoderFunc

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL