diff options
author | Hank Shen <swh@admpub.com> | 2023-12-06 07:34:46 +0300 |
---|---|---|
committer | Hank Shen <swh@admpub.com> | 2023-12-06 07:34:46 +0300 |
commit | 53756c3ef985f8b24346d829c673156861066871 (patch) | |
tree | 766ba6e643e5e21058b3f942c0c9eb014dfe10f1 /litecodec.go | |
parent | c33b59bcab7ae16914ebeae200a6195204e76b3a (diff) |
Diffstat (limited to 'litecodec.go')
-rw-r--r-- | litecodec.go | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/litecodec.go b/litecodec.go deleted file mode 100644 index 0de4674..0000000 --- a/litecodec.go +++ /dev/null @@ -1,56 +0,0 @@ -package securecookie - -import "fmt" - -var _ Codec = (*LiteCodec)(nil) - -func NewLiteCodec() *LiteCodec { - s := &LiteCodec{ - sz: GobEncoder{}, - } - return s -} - -// LiteCodec encodes and decodes -type LiteCodec struct { - err error - sz Serializer -} - -// Encoding sets the encoding/serialization method for cookies. -// -// Default is encoding/gob. To encode special structures using encoding/gob, -// they must be registered first using gob.Register(). -func (s *LiteCodec) SetSerializer(sz Serializer) *LiteCodec { - s.sz = sz - - return s -} - -// Encode encodes a value. -func (s *LiteCodec) Encode(name string, value interface{}) (string, error) { - if s.err != nil { - return "", s.err - } - var err error - var b []byte - // Serialize. - if b, err = s.sz.Serialize(value); err != nil { - return "", cookieError{cause: fmt.Errorf(`%w: %s`, err, name), typ: usageError} - } - // Done. - return string(b), nil -} - -// Decode decodes a value. The dst argument must be a pointer. -func (s *LiteCodec) Decode(name, value string, dst interface{}, _ ...int) error { - if s.err != nil { - return s.err - } - // Deserialize. - if err := s.sz.Deserialize([]byte(value), dst); err != nil { - return cookieError{cause: fmt.Errorf(`%w: %s`, err, name), typ: decodeError} - } - // Done. - return nil -} |