From 51b9ef5c346f333e558eca38fd954464322f3b7d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Apr 2025 09:43:56 +0200 Subject: [chore]: Bump github.com/gin-contrib/gzip from 1.2.2 to 1.2.3 (#4000) Bumps [github.com/gin-contrib/gzip](https://github.com/gin-contrib/gzip) from 1.2.2 to 1.2.3. - [Release notes](https://github.com/gin-contrib/gzip/releases) - [Changelog](https://github.com/gin-contrib/gzip/blob/master/.goreleaser.yaml) - [Commits](https://github.com/gin-contrib/gzip/compare/v1.2.2...v1.2.3) --- updated-dependencies: - dependency-name: github.com/gin-contrib/gzip dependency-version: 1.2.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../bytedance/sonic/internal/resolver/resolver.go | 32 ++++++++------ .../sonic/internal/resolver/stubs_compat.go | 48 -------------------- .../sonic/internal/resolver/stubs_go120.go | 51 ++++++++++++++++++++++ .../sonic/internal/resolver/stubs_go123.go | 51 ++++++++++++++++++++++ .../sonic/internal/resolver/stubs_latest.go | 13 +++++- 5 files changed, 132 insertions(+), 63 deletions(-) delete mode 100644 vendor/github.com/bytedance/sonic/internal/resolver/stubs_compat.go create mode 100644 vendor/github.com/bytedance/sonic/internal/resolver/stubs_go120.go create mode 100644 vendor/github.com/bytedance/sonic/internal/resolver/stubs_go123.go (limited to 'vendor/github.com/bytedance/sonic/internal/resolver') diff --git a/vendor/github.com/bytedance/sonic/internal/resolver/resolver.go b/vendor/github.com/bytedance/sonic/internal/resolver/resolver.go index 795434f4e..1c30ad113 100644 --- a/vendor/github.com/bytedance/sonic/internal/resolver/resolver.go +++ b/vendor/github.com/bytedance/sonic/internal/resolver/resolver.go @@ -17,10 +17,10 @@ package resolver import ( - `fmt` - `reflect` - `strings` - `sync` + "fmt" + "reflect" + "strings" + "sync" ) type FieldOpts int @@ -29,6 +29,7 @@ type OffsetType int const ( F_omitempty FieldOpts = 1 << iota F_stringize + F_omitzero ) const ( @@ -47,6 +48,7 @@ type FieldMeta struct { Path []Offset Opts FieldOpts Type reflect.Type + IsZero func(reflect.Value) bool } func (self *FieldMeta) String() string { @@ -117,20 +119,26 @@ func resolveFields(vt reflect.Type) []FieldMeta { /* convert each field */ for _, fv := range tfv.list { + /* add to result */ + ret = append(ret, FieldMeta{}) + fm := &ret[len(ret)-1] + item := vt path := []Offset(nil) - opts := FieldOpts(0) /* check for "string" */ if fv.quoted { - opts |= F_stringize + fm.Opts |= F_stringize } /* check for "omitempty" */ if fv.omitEmpty { - opts |= F_omitempty + fm.Opts |= F_omitempty } + /* handle the "omitzero" */ + handleOmitZero(fv, fm) + /* dump the field path */ for _, i := range fv.index { kind := F_offset @@ -161,13 +169,9 @@ func resolveFields(vt reflect.Type) []FieldMeta { path[idx].Kind = F_offset } - /* add to result */ - ret = append(ret, FieldMeta { - Type: fvt, - Opts: opts, - Path: path, - Name: fv.name, - }) + fm.Type = fvt + fm.Path = path + fm.Name = fv.name } /* optimize the offsets */ diff --git a/vendor/github.com/bytedance/sonic/internal/resolver/stubs_compat.go b/vendor/github.com/bytedance/sonic/internal/resolver/stubs_compat.go deleted file mode 100644 index a3479543d..000000000 --- a/vendor/github.com/bytedance/sonic/internal/resolver/stubs_compat.go +++ /dev/null @@ -1,48 +0,0 @@ -// +build !go1.21 - -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package resolver - -import ( - _ `encoding/json` - `reflect` - _ `unsafe` -) - -type StdField struct { - name string - nameBytes []byte - equalFold func() - nameNonEsc string - nameEscHTML string - tag bool - index []int - typ reflect.Type - omitEmpty bool - quoted bool - encoder func() -} - -type StdStructFields struct { - list []StdField - nameIndex map[string]int -} - -//go:noescape -//go:linkname typeFields encoding/json.typeFields -func typeFields(_ reflect.Type) StdStructFields diff --git a/vendor/github.com/bytedance/sonic/internal/resolver/stubs_go120.go b/vendor/github.com/bytedance/sonic/internal/resolver/stubs_go120.go new file mode 100644 index 000000000..c0276f544 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/resolver/stubs_go120.go @@ -0,0 +1,51 @@ +//go:build !go1.21 +// +build !go1.21 + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package resolver + +import ( + _ `encoding/json` + `reflect` + _ `unsafe` +) + +type StdField struct { + name string + nameBytes []byte + equalFold func() + nameNonEsc string + nameEscHTML string + tag bool + index []int + typ reflect.Type + omitEmpty bool + quoted bool + encoder func() +} + +type StdStructFields struct { + list []StdField + nameIndex map[string]int +} + +//go:noescape +//go:linkname typeFields encoding/json.typeFields +func typeFields(_ reflect.Type) StdStructFields + +func handleOmitZero(f StdField, fv *FieldMeta) {} diff --git a/vendor/github.com/bytedance/sonic/internal/resolver/stubs_go123.go b/vendor/github.com/bytedance/sonic/internal/resolver/stubs_go123.go new file mode 100644 index 000000000..a73f024f5 --- /dev/null +++ b/vendor/github.com/bytedance/sonic/internal/resolver/stubs_go123.go @@ -0,0 +1,51 @@ +//go:build go1.21 && !go1.24 +// +build go1.21,!go1.24 + +/* + * Copyright 2021 ByteDance Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package resolver + +import ( + _ `encoding/json` + `reflect` + _ `unsafe` +) + +type StdField struct { + name string + nameBytes []byte + nameNonEsc string + nameEscHTML string + tag bool + index []int + typ reflect.Type + omitEmpty bool + quoted bool + encoder func() +} + +type StdStructFields struct { + list []StdField + nameIndex map[string]*StdField + byFoldedName map[string]*StdField +} + +//go:noescape +//go:linkname typeFields encoding/json.typeFields +func typeFields(_ reflect.Type) StdStructFields + +func handleOmitZero(f StdField, fv *FieldMeta) {} diff --git a/vendor/github.com/bytedance/sonic/internal/resolver/stubs_latest.go b/vendor/github.com/bytedance/sonic/internal/resolver/stubs_latest.go index f5a9bff2b..b9486a699 100644 --- a/vendor/github.com/bytedance/sonic/internal/resolver/stubs_latest.go +++ b/vendor/github.com/bytedance/sonic/internal/resolver/stubs_latest.go @@ -1,4 +1,5 @@ -// +build go1.21 +//go:build go1.24 +// +build go1.24 /* * Copyright 2021 ByteDance Inc. @@ -33,6 +34,8 @@ type StdField struct { index []int typ reflect.Type omitEmpty bool + omitZero bool + isZero func(reflect.Value) bool quoted bool encoder func() } @@ -46,3 +49,11 @@ type StdStructFields struct { //go:noescape //go:linkname typeFields encoding/json.typeFields func typeFields(_ reflect.Type) StdStructFields + +func handleOmitZero(fv StdField, fm *FieldMeta) { + if fv.omitZero { + fm.Opts |= F_omitzero + fm.IsZero = fv.isZero + } +} + -- cgit v1.3