refactor(sessionresolver): minor changes in files and types naming (#810)
Part of https://github.com/ooni/probe/issues/2135
This commit is contained in:
parent
beba543b98
commit
a02cc6100b
14 changed files with 145 additions and 107 deletions
37
internal/engine/internal/sessionresolver/jsoncodec.go
Normal file
37
internal/engine/internal/sessionresolver/jsoncodec.go
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
package sessionresolver
|
||||
|
||||
//
|
||||
// JSON codec
|
||||
//
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
// jsonCodec encodes to/decodes from JSON.
|
||||
type jsonCodec interface {
|
||||
// Encode encodes v as a JSON stream of bytes.
|
||||
Encode(v interface{}) ([]byte, error)
|
||||
|
||||
// Decode decodes b from a JSON stream of bytes.
|
||||
Decode(b []byte, v interface{}) error
|
||||
}
|
||||
|
||||
// codec always returns a valid jsonCodec.
|
||||
func (r *Resolver) codec() jsonCodec {
|
||||
if r.jsonCodec != nil {
|
||||
return r.jsonCodec
|
||||
}
|
||||
return &jsonCodecStdlib{}
|
||||
}
|
||||
|
||||
// jsonCodecStdlib is the default codec.
|
||||
type jsonCodecStdlib struct{}
|
||||
|
||||
// Decode implements jsonCodec.Decode.
|
||||
func (*jsonCodecStdlib) Decode(b []byte, v interface{}) error {
|
||||
return json.Unmarshal(b, v)
|
||||
}
|
||||
|
||||
// Encode implements jsonCodec.Encode.
|
||||
func (*jsonCodecStdlib) Encode(v interface{}) ([]byte, error) {
|
||||
return json.Marshal(v)
|
||||
}
|
||||
Loading…
Reference in a new issue