json

package
v2.3.1 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2020 License: Apache-2.0 Imports: 7 Imported by: 4

Documentation

Overview

Package json holds the encoder/decoder implementation for `application/json`.

Index

Constants

This section is empty.

Variables

View Source
var (
	// LatencyMs measures the latency in milliseconds for the CloudEvents json
	// data codec methods.
	LatencyMs = stats.Float64("cloudevents.io/sdk-go/datacodec/json/latency", "The latency in milliseconds for the CloudEvents json data codec methods.", "ms")
)
View Source
var (
	// LatencyView is an OpenCensus view that shows data codec json method latency.
	LatencyView = &view.View{
		Name:        "datacodec/json/latency",
		Measure:     LatencyMs,
		Description: "The distribution of latency inside of the json data codec for CloudEvents.",
		Aggregation: view.Distribution(0, .01, .1, 1, 10, 100, 1000, 10000),
		TagKeys:     observability.LatencyTags(),
	}
)

Functions

func Decode

func Decode(ctx context.Context, in []byte, out interface{}) error

Decode takes `in` as []byte. If Event sent the payload as base64, Decoder assumes that `in` is the decoded base64 byte array.

func DecodeObserved

func DecodeObserved(ctx context.Context, in []byte, out interface{}) error

DecodeObserved calls Decode and records the results.

func Encode

func Encode(ctx context.Context, in interface{}) ([]byte, error)

Encode attempts to json.Marshal `in` into bytes. Encode will inspect `in` and returns `in` unmodified if it is detected that `in` is already a []byte; Or json.Marshal errors.

func EncodeObserved

func EncodeObserved(ctx context.Context, in interface{}) ([]byte, error)

EncodeObserved calls Encode and records the results.

Types

This section is empty.

Jump to

Keyboard shortcuts

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