debian-forge-composer/vendor/github.com/json-iterator/go
sanne 4a057bf3d5 auth: OpenID/OAUth2 middleware
2 configurations for the listeners are now possible:
- enableJWT=false with client ssl auth
- enableJWT=true with https

Actual verification of the tokens is handled by
https://github.com/openshift-online/ocm-sdk-go.

An authentication handler is run as the top level handler, before any
routing is done. Routes which do not require authentication should be
listed as exceptions.

Authentication can be restricted using an ACL file which allows
filtering based on JWT claims. For more information see the inline
comments in ocm-sdk/authentication.

As an added quirk the `-v` flag for the osbuild-composer executable was
changed to `-verbose` to avoid flag collision with glog which declares
the `-v` flag in the package `init()` function. The ocm-sdk depends on
glog and pulls it in.
2021-09-04 02:48:52 +02:00
..
.codecov.yml auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
.gitignore auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
.travis.yml auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
adapter.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_array.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_bool.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_float.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_int32.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_int64.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_invalid.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_nil.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_number.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_object.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_str.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_uint32.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
any_uint64.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
build.sh auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
config.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
fuzzy_mode_convert_table.md auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
go.mod auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
go.sum auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
Gopkg.lock auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
Gopkg.toml auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
iter.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
iter_array.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
iter_float.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
iter_int.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
iter_object.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
iter_skip.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
iter_skip_sloppy.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
iter_skip_strict.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
iter_str.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
jsoniter.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
LICENSE auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
pool.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
README.md auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_array.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_dynamic.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_extension.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_json_number.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_json_raw_message.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_map.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_marshaler.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_native.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_optional.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_slice.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_struct_decoder.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
reflect_struct_encoder.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
stream.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
stream_float.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
stream_int.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
stream_str.go auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00
test.sh auth: OpenID/OAUth2 middleware 2021-09-04 02:48:52 +02:00

Sourcegraph GoDoc Build Status codecov rcard License Gitter chat

A high-performance 100% compatible drop-in replacement of "encoding/json"

You can also use thrift like JSON using thrift-iterator

Benchmark

benchmark

Source code: https://github.com/json-iterator/go-benchmark/blob/master/src/github.com/json-iterator/go-benchmark/benchmark_medium_payload_test.go

Raw Result (easyjson requires static code generation)

ns/op allocation bytes allocation times
std decode 35510 ns/op 1960 B/op 99 allocs/op
easyjson decode 8499 ns/op 160 B/op 4 allocs/op
jsoniter decode 5623 ns/op 160 B/op 3 allocs/op
std encode 2213 ns/op 712 B/op 5 allocs/op
easyjson encode 883 ns/op 576 B/op 3 allocs/op
jsoniter encode 837 ns/op 384 B/op 4 allocs/op

Always benchmark with your own workload. The result depends heavily on the data input.

Usage

100% compatibility with standard lib

Replace

import "encoding/json"
json.Marshal(&data)

with

import jsoniter "github.com/json-iterator/go"

var json = jsoniter.ConfigCompatibleWithStandardLibrary
json.Marshal(&data)

Replace

import "encoding/json"
json.Unmarshal(input, &data)

with

import jsoniter "github.com/json-iterator/go"

var json = jsoniter.ConfigCompatibleWithStandardLibrary
json.Unmarshal(input, &data)

More documentation

How to get

go get github.com/json-iterator/go

Contribution Welcomed !

Contributors

Report issue or pull request, or email taowen@gmail.com, or Gitter chat