json

package
v1.2.29 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var FlattenAudience uint32

FlattenAudience is a flag to specify if we should flatten the "aud" entry to a string when there's only one entry. In jwx < 1.1.8 we just dumped everything as an array of strings, but apparently AWS Cognito doesn't handle this well.

So now we have the ability to dump "aud" as a string if there's only one entry, but we need to retain the old behavior so that we don't accidentally break somebody else's code. (e.g. messing up how signatures are calculated)

Functions

func AssignNextBytesToken added in v1.1.0

func AssignNextBytesToken(dst *[]byte, dec *Decoder) error

func AssignNextStringToken added in v1.1.0

func AssignNextStringToken(dst **string, dec *Decoder) error

func DecoderSettings

func DecoderSettings(inUseNumber bool)

Sets the global configuration for json decoding

func EncodeAudience added in v1.2.0

func EncodeAudience(enc *Encoder, aud []string) error

func Engine added in v1.1.0

func Engine() string

func Marshal

func Marshal(v interface{}) ([]byte, error)

Marshal is just a proxy for "encoding/json".Marshal

func MarshalIndent

func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error)

MarshalIndent is just a proxy for "encoding/json".MarshalIndent

func NewDecoder

func NewDecoder(r io.Reader) *json.Decoder

NewDecoder respects the values specified in DecoderSettings, and creates a Decoder that has certain features turned on/off

func NewEncoder

func NewEncoder(w io.Writer) *json.Encoder

func ReadNextStringToken added in v1.1.0

func ReadNextStringToken(dec *Decoder) (string, error)

func Unmarshal

func Unmarshal(b []byte, v interface{}) error

Unmarshal respects the values specified in DecoderSettings, and uses a Decoder that has certain features turned on/off

Types

type DecodeCtx added in v1.2.1

type DecodeCtx interface {
	Registry() *Registry
}

DecodeCtx is an interface for objects that needs that extra something when decoding JSON into an object.

func NewDecodeCtx added in v1.2.1

func NewDecodeCtx(r *Registry) DecodeCtx

type DecodeCtxContainer added in v1.2.1

type DecodeCtxContainer interface {
	DecodeCtx() DecodeCtx
	SetDecodeCtx(DecodeCtx)
}

DecodeCtxContainer is used to differentiate objects that can carry extra decoding hints and those who can't.

type Decoder added in v1.1.0

type Decoder = json.Decoder

type Delim added in v1.1.0

type Delim = json.Delim

type Encoder added in v1.1.0

type Encoder = json.Encoder

type Marshaler added in v1.1.0

type Marshaler = json.Marshaler

type Number

type Number = json.Number

type RawMessage

type RawMessage = json.RawMessage

type Registry added in v1.1.2

type Registry struct {
	// contains filtered or unexported fields
}

func NewRegistry added in v1.1.2

func NewRegistry() *Registry

func (*Registry) Decode added in v1.1.2

func (r *Registry) Decode(dec *Decoder, name string) (interface{}, error)

func (*Registry) Register added in v1.1.2

func (r *Registry) Register(name string, object interface{})

type Unmarshaler added in v1.1.0

type Unmarshaler = json.Unmarshaler

Jump to

Keyboard shortcuts

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