mirror of
https://github.com/gofiber/fiber.git
synced 2025-05-31 11:52:41 +00:00
* Update pull_request_template.md * Update v3-changes.md * Update CONTRIBUTING.md (#2752) Grammar correction. * chore(encryptcookie)!: update default config (#2753) * chore(encryptcookie)!: update default config docs(encryptcookie): enhance documentation and examples BREAKING CHANGE: removed the hardcoded "csrf_" from the Except. * docs(encryptcookie): reads or modifies cookies * chore(encryptcookie): csrf config example * docs(encryptcookie): md table spacing * build(deps): bump actions/setup-go from 4 to 5 (#2754) Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-go 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> * 🩹 middleware/logger/: log client IP address by default (#2755) * middleware/logger: Log client IP address by default. * Update doc. * fix: don't constrain middlewares' context-keys to strings 🐛 (#2751) * Revert "Revert "🐛 requestid.Config.ContextKey is interface{} (#2369)" (#2742)" This reverts commit 28be17f929cfa7d3c27dd292fc3956f2f9882e22. * fix: request ContextKey default value condition Should check for `nil` since it is `any`. * fix: don't constrain middlewares' context-keys to strings `context` recommends using "unexported type" as context keys to avoid collisions https://pkg.go.dev/github.com/gofiber/fiber/v2#Ctx.Locals. The official go blog also recommends this https://go.dev/blog/context. `fiber.Ctx.Locals(key any, value any)` correctly allows consumers to use unexported types or e.g. strings. But some fiber middlewares constrain their context-keys to `string` in their "default config structs", making it impossible to use unexported types. This PR removes the `string` _constraint_ from all middlewares, allowing to now use unexported types as per the official guidelines. However the default value is still a string, so it's not a breaking change, and anyone still using strings as context keys is not affected. * 📚 Update app.md for indentation (#2761) Update app.md for indentation * build(deps): bump github.com/google/uuid from 1.4.0 to 1.5.0 (#2762) Bumps [github.com/google/uuid](https://github.com/google/uuid) from 1.4.0 to 1.5.0. - [Release notes](https://github.com/google/uuid/releases) - [Changelog](https://github.com/google/uuid/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/uuid/compare/v1.4.0...v1.5.0) --- updated-dependencies: - dependency-name: github.com/google/uuid dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github/codeql-action from 2 to 3 (#2763) 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> * Changing default log output (#2730) changing default log output Closes #2729 * Update hooks.md fix wrong hooks signature * 🩹 Fix: CORS middleware should use the defined AllowedOriginsFunc config when AllowedOrigins is empty (#2771) * 🐛 [Bug]: Adaptator + otelfiber issue #2641 (#2772) * 🩹🚨 - fix for redirect with query params (#2748) * redirect with query params did not work, fix it and add test for it * redirect middleware - fix test typo * ♻️ logger/middleware colorize logger error message #2593 (#2773) * ✨ feat: add liveness and readiness checks (#2509) * ✨ feat: add liveness and readiness checkers * 📝 docs: add docs for liveness and readiness * ✨ feat: add options method for probe checkers * ✅ tests: add tests for liveness and readiness * ♻️ refactor: change default endpoint values * ♻️ refactor: change default value for liveness endpoint * 📝 docs: add return status for liveness and readiness probes * ♻️ refactor: change probechecker to middleware * 📝 docs: move docs to middleware session * ♻️ refactor: apply gofumpt formatting * ♻️ refactor: remove unused parameter * split config and apply a review * apply reviews and add testcases * add benchmark * cleanup * rename middleware * fix linter * Update docs and config values * Revert change to IsReady * Updates based on code review * Update docs to match other middlewares --------- Co-authored-by: Muhammed Efe Cetin <efectn@protonmail.com> Co-authored-by: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Co-authored-by: Juan Calderon-Perez <jgcalderonperez@protonmail.com> * prepare release v2.52.0 - add more Parser tests * fix healthcheck.md * configure workflows for V2 branch * configure workflows for V2 branch * Fix default value to false in docs of QueryBool (#2811) fix default value to false in docs of QueryBool * update queryParser config * Update ctx.md * Update routing.md * merge v2 in v3 * merge v2 in v3 * lint fixes * 📚 Doc: Fix code snippet indentation in /docs/api/middleware/keyauth.md Removes an an extra level of indentation in line 51 of `keyauth.md` [here](https://github.com/gofiber/fiber/blob/v2/docs/api/middleware/keyauth.md?plain=1#L51) * fix: healthcheck middleware not working with route group (#2863) * fix: healthcheck middleware not working with route group * perf: change verification method to improve perf * Update healthcheck_test.go * test: add not matching route test for strict routing * add more test cases * correct tests * correct test helpers * correct tests * correct tests --------- Co-authored-by: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Co-authored-by: René Werner <rene@gofiber.io> * merge v2 in v3 * Merge pull request from GHSA-fmg4-x8pw-hjhg * Enforce Wildcard Origins with AllowCredentials check * Expand unit-tests, fix issues with subdomains logic, update docs * Update cors.md * Added test using localhost, ipv4, and ipv6 address * improve documentation markdown --------- Co-authored-by: René Werner <rene@gofiber.io> * Update app.go prepare release v2.52.1 * fix cors domain normalize * fix sync-docs workflow * test: fix failing tests * fix sync-docs workflow * test: cors middleware use testify require * chore: fix lint warnings * chore: revert test isolation. * fixed the fasthttp ctx race condition problem * Update middleware/cors/utils.go Co-authored-by: Renan Bastos <renanbastos.tec@gmail.com> * fix sync_docs.sh * fix review comments/hints * fix review comments/hints * stabilize Test_Proxy_Timeout_Slow_Server test * stabilize Test_Proxy_.* tests * ignore bodyclose linter for tests use http.NoBody instead of nil * revert(tests): undo http.NoBody usage * fix(ctx pool): postpone the reset for some values shortly before the release in the pool * refactor(tests): use testify panic method instead of custom solution --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: tokelo-12 <113810058+tokelo-12@users.noreply.github.com> Co-authored-by: Jason McNeil <sixcolors@mac.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: iRedMail <2048991+iredmail@users.noreply.github.com> Co-authored-by: Benjamin Grosse <ste3ls@gmail.com> Co-authored-by: Mehmet Firat KOMURCU <mehmetfiratkomurcu@hotmail.com> Co-authored-by: Bruno <bdm2943@icloud.com> Co-authored-by: Muhammad Kholid B <muhammadkholidb@gmail.com> Co-authored-by: gilwo <gilwo@users.noreply.github.com> Co-authored-by: Lucas Lemos <lucashenriqueblemos@gmail.com> Co-authored-by: Muhammed Efe Cetin <efectn@protonmail.com> Co-authored-by: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Co-authored-by: Juan Calderon-Perez <jgcalderonperez@protonmail.com> Co-authored-by: Jongmin Kim <kjongmin26@gmail.com> Co-authored-by: Giovanni Rivera <rivera.giovanni271@gmail.com> Co-authored-by: Renan Bastos <renanbastos.tec@gmail.com>
241 lines
5.1 KiB
YAML
241 lines
5.1 KiB
YAML
# Created based on v1.51.0
|
|
# NOTE: Keep this in sync with the version in .github/workflows/linter.yml
|
|
|
|
run:
|
|
modules-download-mode: readonly
|
|
skip-dirs-use-default: false
|
|
skip-dirs:
|
|
- internal
|
|
|
|
output:
|
|
sort-results: true
|
|
|
|
linters-settings:
|
|
testifylint:
|
|
enable-all: true
|
|
disable:
|
|
- go-require
|
|
errcheck:
|
|
check-type-assertions: true
|
|
check-blank: true
|
|
disable-default-exclusions: true
|
|
exclude-functions:
|
|
- '(*bytes.Buffer).Write' # always returns nil error
|
|
- '(*github.com/valyala/bytebufferpool.ByteBuffer).Write' # always returns nil error
|
|
- '(*github.com/valyala/bytebufferpool.ByteBuffer).WriteByte' # always returns nil error
|
|
- '(*github.com/valyala/bytebufferpool.ByteBuffer).WriteString' # always returns nil error
|
|
|
|
errchkjson:
|
|
report-no-exported: true
|
|
|
|
exhaustive:
|
|
default-signifies-exhaustive: true
|
|
|
|
forbidigo:
|
|
forbid:
|
|
- ^(fmt\.Print(|f|ln)|print|println)$
|
|
- 'http\.Default(Client|Transport)'
|
|
# TODO: Eventually enable these patterns
|
|
# - 'time\.Sleep'
|
|
# - 'panic'
|
|
|
|
gocritic:
|
|
disabled-checks:
|
|
- ifElseChain
|
|
|
|
gofumpt:
|
|
module-path: github.com/gofiber/fiber
|
|
extra-rules: true
|
|
|
|
gosec:
|
|
excludes:
|
|
- G104 # Provided by errcheck
|
|
config:
|
|
global:
|
|
audit: true
|
|
|
|
depguard:
|
|
rules:
|
|
main:
|
|
deny:
|
|
- pkg: flag
|
|
desc: '`flag` package is only allowed in main.go'
|
|
- pkg: io/ioutil
|
|
desc: '`io/ioutil` package is deprecated, use the `io` and `os` package instead'
|
|
|
|
govet:
|
|
check-shadowing: true
|
|
enable-all: true
|
|
disable:
|
|
- shadow
|
|
- fieldalignment
|
|
- loopclosure
|
|
|
|
grouper:
|
|
import-require-single-import: true
|
|
import-require-grouping: true
|
|
|
|
misspell:
|
|
locale: US
|
|
|
|
nolintlint:
|
|
require-explanation: true
|
|
require-specific: true
|
|
|
|
nonamedreturns:
|
|
report-error-in-defer: true
|
|
|
|
predeclared:
|
|
q: true
|
|
|
|
promlinter:
|
|
strict: true
|
|
|
|
revive:
|
|
enable-all-rules: true
|
|
rules:
|
|
# Provided by gomnd linter
|
|
- name: add-constant
|
|
disabled: true
|
|
- name: argument-limit
|
|
disabled: true
|
|
# Provided by bidichk
|
|
- name: banned-characters
|
|
disabled: true
|
|
- name: cognitive-complexity
|
|
disabled: true
|
|
- name: comment-spacings
|
|
disabled: true # TODO https://github.com/gofiber/fiber/issues/2816
|
|
- name: cyclomatic
|
|
disabled: true
|
|
- name: early-return
|
|
severity: warning
|
|
disabled: true
|
|
- name: exported
|
|
disabled: true
|
|
- name: file-header
|
|
disabled: true
|
|
- name: function-result-limit
|
|
disabled: true
|
|
- name: function-length
|
|
disabled: true
|
|
- name: line-length-limit
|
|
disabled: true
|
|
- name: max-public-structs
|
|
disabled: true
|
|
- name: modifies-parameter
|
|
disabled: true
|
|
- name: nested-structs
|
|
disabled: true
|
|
- name: package-comments
|
|
disabled: true
|
|
- name: unchecked-type-assertion
|
|
disabled: true # TODO https://github.com/gofiber/fiber/issues/2816
|
|
# Provided by errcheck
|
|
- name: unhandled-error
|
|
disabled: true
|
|
|
|
stylecheck:
|
|
checks:
|
|
- all
|
|
- -ST1000
|
|
- -ST1020
|
|
- -ST1021
|
|
- -ST1022
|
|
|
|
tagliatelle:
|
|
case:
|
|
rules:
|
|
json: snake
|
|
|
|
tenv:
|
|
all: true
|
|
|
|
#unparam:
|
|
# check-exported: true
|
|
|
|
wrapcheck:
|
|
ignorePackageGlobs:
|
|
- github.com/gofiber/fiber/*
|
|
- github.com/valyala/fasthttp
|
|
|
|
issues:
|
|
exclude-use-default: false
|
|
|
|
exclude-rules:
|
|
# Exclude some linters from running on tests files.
|
|
- path: _test\.go
|
|
linters:
|
|
- bodyclose
|
|
|
|
linters:
|
|
disable:
|
|
- spancheck # opentelemetry, irrelevant
|
|
- tagalign # requires awkward manual formatting of struct tags
|
|
enable:
|
|
- asasalint
|
|
- asciicheck
|
|
- bidichk
|
|
- bodyclose
|
|
- containedctx
|
|
- contextcheck
|
|
- depguard
|
|
- dogsled
|
|
- durationcheck
|
|
- errcheck
|
|
- errchkjson
|
|
- errname
|
|
- errorlint
|
|
- execinquery
|
|
- exhaustive
|
|
- exportloopref
|
|
- forbidigo
|
|
- forcetypeassert
|
|
# - gochecksumtype # TODO https://github.com/gofiber/fiber/issues/2816
|
|
# - goconst # TODO https://github.com/gofiber/fiber/issues/2816
|
|
- gocritic
|
|
- gofmt
|
|
- gofumpt
|
|
- goimports
|
|
- gomoddirectives
|
|
- goprintffuncname
|
|
- gosec
|
|
- gosimple
|
|
# - gosmopolitan # TODO https://github.com/gofiber/fiber/issues/2816
|
|
- govet
|
|
- grouper
|
|
- inamedparam
|
|
- loggercheck
|
|
- mirror
|
|
- misspell
|
|
- nakedret
|
|
- nilerr
|
|
- nilnil
|
|
- noctx
|
|
- nolintlint
|
|
- nonamedreturns
|
|
- nosprintfhostport
|
|
- perfsprint
|
|
- predeclared
|
|
- promlinter
|
|
- reassign
|
|
- revive
|
|
- rowserrcheck
|
|
- sqlclosecheck
|
|
- staticcheck
|
|
- stylecheck
|
|
- tagliatelle
|
|
- testifylint
|
|
# - testpackage # TODO: Enable once https://github.com/gofiber/fiber/issues/2252 is implemented
|
|
- thelper
|
|
- tparallel
|
|
- typecheck
|
|
- unconvert
|
|
- unparam
|
|
- unused
|
|
- usestdlibvars
|
|
# - wastedassign # TODO https://github.com/gofiber/fiber/issues/2816
|
|
- whitespace
|
|
- wrapcheck
|
|
- tenv
|