* feat: ShouldBindBodyWith shortcut and change doc
* fix: yaml can parse json test case
* style: fix new test case in context_test.go
* chore: modify the code style to specify binding type
* chroe: gofmt modifies the code format
* feat: add ability to override the debugPrint statement
This allows users to use a single logger within their application for all printing, regardless of level.
* chore: make the code more readable, as per review comment
* fix: use tab instead of space for indentation
* fix(binding): support application/yaml
RFC 9512 defines application/yaml as the official YAML MIME type.
application/x-yaml is deprecated. In this commit, we ensure it is
recognized correctly in Content-Type.
* fix(render): use application/yaml when rendering YAML
As per RFC 9512, application/x-yaml is now deprecated and applications
should use application/yaml. This commit fix the Content-Type header
when rendering YAML.
* Optimize the Copy method of the Context struct: using 'make' to initialize the map('cp.Keys') with a length of 'c.Keys'; avoiding repeatedly assiging the 'params' to 'context'.
* Using temporary variables to save c.Keys and c.Params to prevent them from changing during the copying process.
---------
Co-authored-by: huangzw <huangzw@hsmap.com>
- Update GitHub Actions workflow to use a unified step for checking out the repository and setting up Go with dynamic versioning
- Upgrade golangci-lint-action version from v3.7.0 to v4 and bump the lint version from v1.56.1 to v1.56.2
- Update dependencies in go.mod: sonic from v1.10.2 to v1.11.0, validator from v10.17.0 to v10.18.0, x/net from v0.20.0 to v0.21.0, go-urn from v1.3.0 to v1.4.0, x/crypto from v0.18.0 to v0.19.0, and x/sys from v0.16.0 to v0.17.0
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* chore: update gin version and remove unnecessary steps in GitHub workflows
- Update the version of gin to v1.56.1 in the `.github/workflows/gin.yml` file
- Add go version 1.22 to the list of supported versions in the `.github/workflows/gin.yml` file
- Remove the unnecessary step "Set up Go" in the `.github/workflows/goreleaser.yml` file
- Update the step name "Run GoReleaser" in the `.github/workflows/goreleaser.yml` file
Signed-off-by: appleboy <appleboy.tw@gmail.com>
* ci: update dependencies and CI configurations
- Update conditional Go version check in GitHub Actions workflow from `1.21.x` to `1.22.x`
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* ci: improve CI Robustness and Test Reliability
- Add `-race` flag to the test-tags list in GitHub Actions workflow configuration
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
---------
Signed-off-by: appleboy <appleboy.tw@gmail.com>
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* fix: catch-all conflicting wildcard
* add: test cases
* chore: update GitHub Actions configuration (#3792)
- Change the cron schedule from `'0 17 * * 5'` to `"0 17 * * 5"` in the file `.github/workflows/codeql.yml`
- Change the value of `language` from `['go']` to `["go"]` in the file `.github/workflows/codeql.yml`
- Change the value of `go-version` from `'^1.18'` to `"^1.18"` in the file `.github/workflows/gin.yml`
- Add `1.21` to the list of `go` versions and change the value of `test-tags` in the file `.github/workflows/gin.yml`
- Change the value of `if` condition from `matrix.go-version == '1.20.x'` to `matrix.go-version == '1.21.x'` in the file `.github/workflows/gin.yml`
- Change the value of `on` from `'*'` to `"*"` in the file `.github/workflows/goreleaser.yml`
- Change the name of the job from `name: Checkout` to `name: Checkout` in the file `.github/workflows/goreleaser.yml`
- Change the name of the job from `name: Set up Go` to `name: Set up Go` in the file `.github/workflows/goreleaser.yml`
- Change the value of `go-version` from `1.20` to `"^1"` in
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* chore(deps): bump github/codeql-action from 2 to 3 (#3806)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(sec): upgrade golang.org/x/crypto to 0.17.0 (#3832)
* ci(lint): update tooling and workflows for consistency (#3834)
* chore: update tooling and workflows for consistency
- Update the version of a tool in the GitHub workflow from `v1.52.2` to `v1.55.2`
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* chore: refactor linter configuration in CI
- Remove the `depguard` linter from the `.golangci.yml` configuration
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* ci: refine CI workflow and test configurations
- Disable caching in the GitHub Actions workflow for `gin.yml`
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* refactor: refactor return logic in tree operations
- Modify multiple return statements in `tree.go` to return a specific value instead of nothing
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
---------
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* chore(deps): update dependencies to latest versions (#3835)
* chore: update dependencies to latest versions
- Update `sonic` library from `v1.9.1` to `v1.10.2`
- Update `validator` library from `v10.16.0` to `v10.17.0`
- Update `go-isatty` library from `v0.0.19` to `v0.0.20`
- Update `go/codec`, `x/net`, and `protobuf` libraries to newer versions
- Update `base64x` to a newer commit and add `iasm` library as an indirect dependency
- Update `mimetype`, `cpuid`, `go-urn`, `x/arch`, `x/crypto`, and `x/sys` libraries to newer versions
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* ci: refactor CI workflows and improve robustness
- Update GitHub Actions cache from v3 to v4 in the workflow configuration
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
---------
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* wip: fix tests
* wip: fix tests
---------
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: caption <101684156+chncaption@users.noreply.github.com>
* chore: update dependencies to latest versions
- Update `sonic` library from `v1.9.1` to `v1.10.2`
- Update `validator` library from `v10.16.0` to `v10.17.0`
- Update `go-isatty` library from `v0.0.19` to `v0.0.20`
- Update `go/codec`, `x/net`, and `protobuf` libraries to newer versions
- Update `base64x` to a newer commit and add `iasm` library as an indirect dependency
- Update `mimetype`, `cpuid`, `go-urn`, `x/arch`, `x/crypto`, and `x/sys` libraries to newer versions
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* ci: refactor CI workflows and improve robustness
- Update GitHub Actions cache from v3 to v4 in the workflow configuration
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
---------
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* chore: update tooling and workflows for consistency
- Update the version of a tool in the GitHub workflow from `v1.52.2` to `v1.55.2`
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* chore: refactor linter configuration in CI
- Remove the `depguard` linter from the `.golangci.yml` configuration
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* ci: refine CI workflow and test configurations
- Disable caching in the GitHub Actions workflow for `gin.yml`
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* refactor: refactor return logic in tree operations
- Modify multiple return statements in `tree.go` to return a specific value instead of nothing
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
---------
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
- Change the cron schedule from `'0 17 * * 5'` to `"0 17 * * 5"` in the file `.github/workflows/codeql.yml`
- Change the value of `language` from `['go']` to `["go"]` in the file `.github/workflows/codeql.yml`
- Change the value of `go-version` from `'^1.18'` to `"^1.18"` in the file `.github/workflows/gin.yml`
- Add `1.21` to the list of `go` versions and change the value of `test-tags` in the file `.github/workflows/gin.yml`
- Change the value of `if` condition from `matrix.go-version == '1.20.x'` to `matrix.go-version == '1.21.x'` in the file `.github/workflows/gin.yml`
- Change the value of `on` from `'*'` to `"*"` in the file `.github/workflows/goreleaser.yml`
- Change the name of the job from `name: Checkout` to `name: Checkout` in the file `.github/workflows/goreleaser.yml`
- Change the name of the job from `name: Set up Go` to `name: Set up Go` in the file `.github/workflows/goreleaser.yml`
- Change the value of `go-version` from `1.20` to `"^1"` in
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
The pointer support in url query params (using []*Struct for binding query params) was previously available in Gin, but was removed in commit 0d50ce8 since there wasn't a test case for such a scenario, and so the case block was removed as a redundant one.