Jason McNeil
8c3916dbf4
Merge pull request from GHSA-94w9-97p3-p368
...
* feat: improved csrf with session support
* fix: double submit cookie
* feat: add warning cookie extractor without session
* feat: add warning CsrfFromCookie SameSite
* fix: use byes.Equal instead
* fix: Overriden CookieName KeyLookup cookie:<name>
* feat: Create helpers.go
* feat: use compareTokens (constant time compare)
* feat: validate cookie to prevent token injection
* refactor: clean up csrf.go
* docs: update comment about Double Submit Cookie
* docs: update docs for CSRF changes
* feat: add DeleteToken
* refactor: no else
* test: add more tests
* refactor: re-order tests
* docs: update safe methods RCF add note
* test: add CSRF_Cookie_Injection_Exploit
* feat: add SingleUseToken config
* test: check for new token
* docs: use warning
* fix: always register type Token
* feat: use UUIDv4
* test: swap in UUIDv4 here too
* fix: raw token injection
* fix: merege error
* feat: Sentinel errors
* chore: rename test
* fix: url parse
* test: add path to referer
* test: add expiration tests
* docs: add cookie prefix note
* docs: fix typo
* docs: add warning for refer checks
* test: add referer edge cases
And call ctx.Request.Reset() and
ctx.Response.Reset() before re-using ctx.
2023-10-16 09:06:30 +02:00
René Werner
bb90fc1187
fix lint errors
2023-10-11 15:16:35 +02:00
Jason McNeil
b50d91d58e
Merge pull request from GHSA-94w9-97p3-p368
...
* feat: improved csrf with session support
* fix: double submit cookie
* feat: add warning cookie extractor without session
* feat: add warning CsrfFromCookie SameSite
* fix: use byes.Equal instead
* fix: Overriden CookieName KeyLookup cookie:<name>
* feat: Create helpers.go
* feat: use compareTokens (constant time compare)
* feat: validate cookie to prevent token injection
* refactor: clean up csrf.go
* docs: update comment about Double Submit Cookie
* docs: update docs for CSRF changes
* feat: add DeleteToken
* refactor: no else
* test: add more tests
* refactor: re-order tests
* docs: update safe methods RCF add note
* test: add CSRF_Cookie_Injection_Exploit
* feat: add SingleUseToken config
* test: check for new token
* docs: use warning
* fix: always register type Token
* feat: use UUIDv4
* test: swap in UUIDv4 here too
2023-10-11 14:41:42 +02:00
M. Efe Çetin
9292a36e28
🐛 bug: fix nil pointer dereference issue on idempotency middleware ( #2668 )
2023-10-10 08:23:23 +02:00
Michael Bell
8228da91fc
[filesystem middleware] improve status for SendFile ( #2664 )
...
SendFile response code for success
2023-10-06 13:10:20 +02:00
René Werner
59409f3841
improve sendFile documentation
2023-10-06 11:43:10 +02:00
Tiago Peczenyj
0d3354675b
Fix loop variable captured by func literal ( #2660 )
...
* fix loop variable xxx captured by func literal
* fix middleware/pprof tests
2023-10-05 13:49:57 +02:00
Tiago Peczenyj
ab4e731607
Run gofumpt and goimports ( #2662 )
...
* run goimports -w -local github.com/gofiber/fiber .
* run gofumpt -w -extra .
2023-10-05 13:14:30 +02:00
KaptinLin
d00f0b8348
✨ feat: add Reset method to Session struct in session middleware ( #2654 )
2023-10-02 15:19:35 +02:00
KaptinLin
d86c257c89
✨ feat: add Delete method to Store struct in session middleware ( #2655 )
...
* ✨ feat: add Delete method to Store struct in session middleware
* ♻ refactor: enhance Delete method and test cases in session middleware
2023-10-02 15:19:18 +02:00
M. Efe Çetin
6e443f6026
refactor: use utils.AssertEqual instead of t.Fatal on some tests ( #2653 )
2023-09-28 14:40:42 +02:00
M. Efe Çetin
a9447a5b49
ctx: change signatures of GetReqHeaders and GetRespHeaders ( #2650 )
...
* ctx: change signatures of GetReqHeaders and GetRespHeaders
* fix middlewares
2023-09-28 08:31:31 +02:00
M. Efe Çetin
e6d6fbe5a8
✨ middleware: cors: allow disabling caching in preflight requests ( #2649 )
2023-09-27 15:06:24 +02:00
Juan Calderon-Perez
5d6552e42d
🐛 fix(middleware/adaptor): Reduce memory usage by replacing io.ReadAll() with io.Copy() ( #2637 )
...
* Replace io.ReadAll with io.Copy for Adaptor Middleware
* Add nolint to Close() during benchmark
2023-09-19 08:08:51 +02:00
CuiPeiyu
d0d5e9ee99
[middleware/filesystem]: Set response code ( #2632 )
...
Specified response code
2023-09-14 14:46:34 +02:00
Akarshit Joshi
6d34e23815
[Bug]: Logger Middleware: Enabling color changes padding for some fields #2604 ( #2616 )
...
🐛 Removes extra padding for response code, method
2023-09-11 08:45:00 +02:00
Eng Zer Jun
242ff94505
♻️ Refactor: Remove redundant nil check ( #2584 )
...
From the Go docs:
"If the map is nil, the number of iterations is 0." [1]
Therefore, an additional nil check for before the loop is unnecessary.
[1]: https://go.dev/ref/spec#For_range
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-08-17 20:49:53 +02:00
Jacob
892b23bd46
✨ Add custom data property to favicon middleware config ( #2579 )
...
* Add custom data property to favicon middleware
* Update favicon middleware docs
* Fix formatting
2023-08-17 15:04:53 +02:00
Jason McNeil
c3ae06608b
🐛 fix(middleware/logger): default latency output format ( #2580 )
...
* fix: default logger formater latency
* test: add Test_Logger_WithLatency_DefaultFormat
* test: rm t.Parallel() from Latency tests
Trying to make windows CI pass....
* test: fix windows sleep issue
2023-08-17 14:33:59 +02:00
0bl
a50df4fcdd
🩹 Fix: rename WithTlsConfig method to WithTLSConfig ( #2570 )
...
* 🩹 Fix: rename WithTlsConfig method to WithTLSConfig
* 🎨 Style: remove stylecheck and revive lint
2023-08-11 07:57:49 +02:00
Jason McNeil
35da4c6a75
test: fix text
2023-08-10 16:04:29 -03:00
Jason McNeil
7b1aa8a612
chore: rm debug
2023-08-10 15:35:16 -03:00
Jason McNeil
acf427c4bb
chore: TagLatency match gin-gonic/gin format
2023-08-10 15:27:25 -03:00
M. Efe Çetin
9fbb961adb
filesystem: refactor: use `errors.Is` instead of `os.IsNotExist` ( #2558 )
2023-08-06 18:10:44 +02:00
João Victor Oliveira Couto
f29f39b1b3
fix: Decompress request body when multi Content-Encoding sent on request headers ( #2555 )
...
* 🔧 feat: Decode body in order when sent a list on content-encoding
* 🚀 perf: Change `getSplicedStrList` to have 0 allocations
* 🍵 test: Add tests for the new features
* 🍵 test: Ensure session test will not raise an error unexpectedly
* 🐗 feat: Replace strings.TrimLeft by utils.TrimLeft
Add docs to functions to inform correctly what the change is
* 🌷 refactor: Apply linter rules
* 🍵 test: Add test cases to the new body method change
* 🔧 feat: Remove return problems to be able to reach original body
* 🌷 refactor: Split Body method into two to make it more maintainable
Also, with the previous fix to problems detected by tests, it becomes really hard to make the linter happy, so this change also helps in it
* 🚀 perf: Came back with Header.VisitAll, to improve speed
* 📃 docs: Update Context docs
2023-08-06 17:23:37 +02:00
Muhammed Efe Cetin
44acb06c02
🧹 v3 (chore): fix linter warnings
2023-08-05 22:25:21 +03:00
Muhammed Efe Cetin
75bb02b87e
Merge remote-tracking branch 'origin/master' into v3-beta
2023-08-05 22:02:01 +03:00
RW
51ea636b60
improved the config section of the middleware readme´s ( #2552 )
2023-07-24 16:46:50 +02:00
Jiun Lee
fefc533834
🚀 Add Logger interface and fiberlog ( #2499 )
...
* add log for fiber
* replace log in fiber
* add Log use to adapt for log libraries
* Update app.go
Co-authored-by: Tomás Warynyca <41587659+tomaswarynyca@users.noreply.github.com>
* wip: add log docs
* add WithLogger use to print key and value
* remove CtxLogger and add WithContext use to bind Context
* fix errcheck
* fix errcheck
* update log.md
---------
Co-authored-by: Tomás Warynyca <41587659+tomaswarynyca@users.noreply.github.com>
2023-06-26 08:16:57 +02:00
Moein Halvaei
5967d36bc0
✏️ Fix typo ( #2518 )
...
* Fix: typo in client.go
* Fix: typo in ctx.go
* Fix: typo in path.go
* Fix: typo in router.go
* Fix: typo in adaptor.go
2023-06-23 16:15:38 +02:00
cmd777
1b060cb150
🩹 Fix: default logger color behaviour ( #2513 )
...
* Fix logger colors
* Fix tests
Basically add ˙enableColors: true˙ back to default config
2023-06-22 13:06:37 +02:00
Anzhi
06ef450a8a
🚀 Add DisableColors to set the default output format ( #2493 )
...
Add DisableColor for default logger format
2023-06-05 13:20:45 +02:00
Oleg
b9e93ccd4a
Fix Sliding Window limiter when SkipSuccessfulRequests/SkipFailedRequests is used. ( #2484 )
...
* Fix Sliding Window limiter when SkipSuccessfulRequests/SkipFailedRequests is used.
* Add tests.
* Fix linter.
---------
Co-authored-by: Oleg Bakumenko <Bakumenko.Oleg@wb.ru>
2023-06-01 08:00:31 +02:00
leonklingele
c56b4e66a0
middleware/adaptor: allow to convert fiber.Ctx to (net/http).Request ( #2461 )
2023-05-15 13:04:58 +02:00
M. Efe Çetin
c7c37d9b50
♻️ refactor: merge some external middlewares to core ( #2453 )
...
* ♻️ refactor: merge adaptor, helmet, keyauth, redirect, rewrite middlewares to core
* fix linting issues
* fix linting issues
* fix linting issues
* update
2023-05-10 08:01:49 +02:00
bcd
3c3f12b76c
[Feature]: Add filesystem config contentTypeCharset support ( #2438 )
...
* Update filesystem.go
* Update filesystem_test.go
* Update filesystem.md
* fmt
2023-05-02 08:40:20 +02:00
RW
3a7dbd0b48
🚀 Consistent way of logging and fix middleware log format #2432 ( #2444 )
...
- change log patter
2023-05-01 18:52:30 +02:00
Kousik Mitra
a59d9bac59
🚀 Consistent way of logging and fix middleware log format ( #2432 )
...
* 🚀 Replace fmt.Print* with log.Print* (#2402 )
* 🚀 Fix middleware logging format (#2402 )
2023-05-01 10:01:27 +02:00
James Lucas
c4d2876d64
🐛 fix(cors): Changed condition for 'AllowOriginsFunc' ( #2423 )
...
🐛 fix(cors): Changed condition for 'AllowOriginsFunc' to check against default config value of 'AllowOrigins'
2023-04-21 13:37:53 +02:00
James Lucas
866d5b7628
✨ feat(cors): Added new 'AllowOriginsFunc' function. ( #2394 )
...
* ✨ feat(cors): Added new 'AllowOriginsFunc' function.
* feat(cors): Added warning log for when both 'AllowOrigins' and 'AllowOriginsFunc' are set.
* feat(docs): Updated docs to include note about discouraging the use of this function in production workloads.
---------
Co-authored-by: RW <rene@gofiber.io>
2023-04-11 10:24:29 +02:00
Hakan Kutluay
22b407e2e7
🐛 [Bug-Fix] add original timeout middleware ( #2367 )
...
* add original timeout middleware
* fix linter issues
* deprecate original timeout middleware
* update timeout middleware documentation
2023-04-09 16:05:51 +02:00
René Werner
035e7d4f43
Fix #2396 , data race logger middleware
2023-04-02 14:36:00 +02:00
René Werner
243f393434
Fix #2396 , data race logger middleware
2023-04-02 14:08:20 +02:00
Rorke76753
56839b433e
🚀 [Feature]: middleware/requestid: don't call "Generator" func on existing request ID header ( #2371 )
...
call uuid generator only if rid is empty
2023-03-15 09:45:42 +01:00
Benjamin Grosse
d7b36cde54
🐛 requestid.Config.ContextKey is interface{} ( #2369 )
...
requestid.Config.ContextKey is interface{}
Consistent with c.Locals(key inteface{}, ...).
Fixes #2356
2023-03-14 19:37:10 +01:00
Tumushimire Yves
634f163e3f
🚀 [Feature]: SessionOnly when cookie.Expires is 0 ( #2152 )
...
* feature: session only for zero expire cookie #2145
* refactor condition to set MaxAge and Expire on cookie
* move checking zero maxage and expire in session middleware
Signed-off-by: Yves Tumushimire <yvestumushimire@gmail.com>
* feature: session only for zero expire cookie #2145
* refactor condition to set MaxAge and Expire on cookie
* move checking zero maxage and expire in session middleware
Signed-off-by: Yves Tumushimire <yvestumushimire@gmail.com>
* CR changes
* some updates
---------
Signed-off-by: Yves Tumushimire <yvestumushimire@gmail.com>
Co-authored-by: Muhammed Efe Çetin <efectn@protonmail.com>
Co-authored-by: René Werner <rene.werner@verivox.com>
2023-03-12 19:14:22 +01:00
Muhammed Efe Çetin
41866cd3dd
👷 v3 (ci): fix some linter warnings
2023-03-06 17:35:39 +03:00
Muhammed Efe Çetin
15e9235383
📝 docs: remove README.mds from middleware dirs
2023-03-06 16:42:35 +03:00
Caio Augusto
44fd1976e7
fix(docs): add missing comma ( #2353 )
...
fix: add missing comma
nothing too much but it's a fix :p
2023-03-05 23:26:06 +03:00
Juan Calderon-Perez
dc038d8233
Feature: Add DoRedirects, DoTimeout and DoDeadline to Proxy middleware ( #2332 )
...
* Add support for DoRedirects
Signed-off-by: Juan Calderon-Perez <jgcalderonperez@protonmail.com>
* Fix linter issues
Signed-off-by: Juan Calderon-Perez <jgcalderonperez@protonmail.com>
* Add example to README
* Add support for DoDeadline and DoTimeout. Expand unit-tests
* Fix linter errors
Signed-off-by: Juan Calderon-Perez <jgcalderonperez@protonmail.com>
* Add examples for Proxy Middleware
---------
Signed-off-by: Juan Calderon-Perez <jgcalderonperez@protonmail.com>
2023-02-24 15:09:00 +01:00
Ryan Devenney
b634ba0a58
fix cors * behavior #2338 ( #2339 )
...
🐛 - fix cors * behavior #2338
2023-02-20 22:36:34 +01:00
Michail Safronov
497eb02b48
Basic auth alloc ( #2333 )
...
* basic_auth: extend benchmark for uppercase Basic
* basic_auth: check space after basic (and avoid alloc if Basic)
* fixup! basic_auth: check space after basic (and avoid alloc if Basic)
2023-02-13 22:48:55 +01:00
Muhammed Efe Çetin
3168a60605
👷 v3 (ci): fix some linter warnings
2023-02-09 23:15:21 +03:00
Muhammed Efe Çetin
c2749c36c2
👷 v3 (ci): fix some linter warnings
2023-02-09 22:33:45 +03:00
Muhammed Efe Çetin
088cde594d
Merge remote-tracking branch 'origin/master' into v3-beta
2023-02-05 23:43:42 +03:00
ACHMAD IRIANTO EKA PUTRA
61a3336119
add forward from domain ( #2323 )
...
* add forward from domain
* add balancer forward
* add unittest and readme
* add short description new feature
* add short description on signature
* golangci-lint fix
---------
Co-authored-by: René Werner <rene@gofiber.io>
2023-02-03 14:45:27 +01:00
René Werner
028d821bea
prepare release
2023-02-03 13:59:47 +01:00
Алексей Колесников
21cd45b750
PR: add url for favicon middleware, for correct handling different of… ( #2231 )
...
* PR: add url for favicon middleware, for correct handling different of ico formats
* pr: efectn > URL would be better naming i think
* pr: add test case
* apply reviews
* remove json annotinos, since they are unnecessary
* readme fixes
* linting fixes
---------
Co-authored-by: koalan <kolesnikov.khv@gmail.com>
Co-authored-by: Muhammed Efe Çetin <efectn@protonmail.com>
2023-02-03 10:14:24 +01:00
M. Efe Çetin
2820aef585
🧹 chore: add go 1.20 to ci and readmes ( #2322 )
...
* ✅ chore: add go 1.20 to ci and readmes
* 🧹 chore: add go 1.20 to ci and readmes
* update linter
* fix linter
* fix benchmarks
* fix benchmarks
* fix benchmarks
2023-02-02 23:01:37 +03:00
leonklingele
ac4ce21d9c
🐛 Bug: Fix issues introduced in linting PR ( #2319 )
...
* internal: revert linting changes
Changes to the internal package should not have been made in 167a8b5e94
.
* middleware/monitor: revert changes to exported field "ChartJSURL"
This is a breaking change introduced in 167a8b5e94
.
* middleware/monitor: fix error checking
Fix the errorenous error checking introduced in 167a8b5e94
.
* 🐛 Bug: Fix issues introduced in linting PR #2319
* 🐛 Bug: Fix issues introduced in linting PR #2319
* Bug: Fix issues introduced in linting PR #2319
---------
Co-authored-by: René Werner <rene@gofiber.io>
2023-02-02 15:57:40 +01:00
leonklingele
44d09209e7
🚀 Feature: Add earlydata middleware (v2 backport) ( #2314 )
...
* 🚀 Feature: Add earlydata middleware (#2270 )
* middleware: add earlydata middleware
* middleware/earlydata: address comments
* Update README.md
* Update README.md
Co-authored-by: RW <rene@gofiber.io>
* middleware/earlydata: backport to v2
Backport of https://github.com/gofiber/fiber/pull/2270 to v2.
---------
Co-authored-by: RW <rene@gofiber.io>
2023-01-30 12:08:01 +01:00
meehow
de7e2b57e5
openssl rand -base64 32 ( #2316 )
...
* openssl rand -base64 32
* Apply suggestions from code review
---------
Co-authored-by: RW <rene@gofiber.io>
2023-01-30 08:47:47 +01:00
Xiaoyue Lin
6dc7a123fb
📝 docs(filesystem): clean duplicated namespace for example ( #2313 )
...
chore: clean duplicated namespace
2023-01-28 15:48:43 +08:00
leonklingele
7170b2a40d
🚀 Feature: Add earlydata middleware ( #2270 )
...
* middleware: add earlydata middleware
* middleware/earlydata: address comments
* Update README.md
* Update README.md
Co-authored-by: RW <rene@gofiber.io>
2023-01-27 11:21:18 +01:00
leonklingele
167a8b5e94
🚀 Feature: Add and apply more stricter golangci-lint linting rules ( #2286 )
...
* golangci-lint: add and apply more stricter linting rules
* github: drop security workflow now that we use gosec linter inside golangci-lint
* github: use official golangci-lint CI linter
* Add editorconfig and gitattributes file
2023-01-27 09:01:37 +01:00
Xiaoyue Lin
07ab88278b
📝 docs(filesystem): fix statik filesystem middleware example typo ( #2302 )
...
docs(filesystem): fix statik filesystem middleware example typo
2023-01-18 08:23:19 +01:00
M. Efe Çetin
5406560033
🧹 chore: make most tests parallel ( #2299 )
...
* 🧹 chore: make most tests parallel
* revert some tests
* revert some tests
* revert some tests
2023-01-15 23:21:37 +08:00
cloudwindy
0628b95a3d
Fix: logger color output ( #2296 )
2023-01-14 20:18:57 +08:00
leonklingele
adcf92dec1
🚀 Feature: Add idempotency middleware (v2 backport) ( #2288 )
...
* 🚀 Feature: Add idempotency middleware (#2253 )
* middleware: add idempotency middleware
* middleware/idempotency: use fiber.Storage instead of custom storage
* middleware/idempotency: only allocate data if really required
* middleware/idempotency: marshal response using msgp
* middleware/idempotency: add msgp tests
* middleware/idempotency: do not export response
* middleware/idempotency: disable msgp's -io option to disable generating unused methods
* middleware/idempotency: switch to time.Duration based app.Test
* middleware/idempotency: only create closure once
* middleware/idempotency: add benchmarks
* middleware/idempotency: optimize strings.ToLower when making comparison
The real "strings.ToLower" still needs to be used when storing the data.
* middleware/idempotency: safe-copy body
* middleware/idempotency: backport to v2
2023-01-13 08:38:50 +01:00
leonklingele
0b5a7d0425
🚀 Feature: Add idempotency middleware ( #2253 )
...
* middleware: add idempotency middleware
* middleware/idempotency: use fiber.Storage instead of custom storage
* middleware/idempotency: only allocate data if really required
* middleware/idempotency: marshal response using msgp
* middleware/idempotency: add msgp tests
* middleware/idempotency: do not export response
* middleware/idempotency: disable msgp's -io option to disable generating unused methods
* middleware/idempotency: switch to time.Duration based app.Test
* middleware/idempotency: only create closure once
* middleware/idempotency: add benchmarks
* middleware/idempotency: optimize strings.ToLower when making comparison
The real "strings.ToLower" still needs to be used when storing the data.
* middleware/idempotency: safe-copy body
2023-01-06 08:46:17 +01:00
TwiN
ad5250a6ff
📝 docs(middleware): fix alignment in limiter example ( #2283 )
...
docs(middleware): Fix indentation in limiter example
Noticed a small formatting issue while going through the docs.
2023-01-05 12:32:28 +08:00
leonklingele
6334f2c9ff
🚀 v3 Feature: Make app.Test accept a time.Duration timeout ( #2269 )
...
app: make app.Test accept a time.Duration timeout
Cases found by running semgrep with an empty .semgrepignore file
semgrep --lang=go -e '$O.Test($X, $Y)'
2022-12-12 20:39:52 +01:00
leonklingele
fd1a29ea79
🚀 Feature: Generate msgp tests ( #2263 )
...
* middleware: also generate msgp tests
* middleware/session: drop unused go:generate directive
* middleware: disable msgp's -io option to not generate unused methods
2022-12-11 17:40:07 +01:00
kinggo
efeea7a4b5
optimize: latency use lowest time unit in logger middleware ( #2261 )
2022-12-10 21:56:43 +01:00
leonklingele
802defa5ff
v3 (chore): cleanup ( #2255 )
...
* middleware: switch to new Ctx interface in documentation
* all: use any instead of interface{}
2022-12-03 15:39:57 +03:00
kinggo
075dfc5a8a
optimize: set byteSent log to 0 when use SetBodyStreamWriter ( #2239 )
2022-12-01 09:19:26 +01:00
leonklingele
17dfcc756b
middleware/requestid: mention that the default UUID generator exposes the number of requests made to the server ( #2241 )
2022-12-01 09:11:14 +01:00
Xaver Fischer
6d798dbda9
📝 middleware/filesystem does not handle url encoded values on it's own ( #2247 )
...
* 📝 middleware/filesystem does not handle url encoded values
* Update README.md
add newline after first warning
Co-authored-by: Xaver Fischer <xaverfischer@mail.de>
2022-12-01 08:53:40 +01:00
Muhammed Efe Çetin
c62dd16e8d
Merge remote-tracking branch 'origin/master' into v3-beta
2022-11-27 20:34:48 +03:00
RW
e4b3b5c708
Improve interface for custom logger func ( #2225 )
...
* - logger: fix custom tag
- use real bytebufferpool dependency instead of the internal
* - logger: fix custom tag
- use real bytebufferpool dependency instead of the internal
* - logger: fix custom tag
- use real bytebufferpool dependency instead of the internal
* - logger: fix custom tag
- use real bytebufferpool dependency instead of the internal
2022-11-18 15:32:56 +01:00
Andy Pan
92ce4aac77
📝 Update middleware/logger docs ( #2224 )
...
* 📝 Update middleware/logger docs
Update #2219
* Update middleware/logger/README.md
Co-authored-by: RW <rene@gofiber.io>
2022-11-18 14:29:53 +01:00
René Werner
3d39b82aad
logger: adjustment for the new Done function - use nil instead of empty func
2022-11-18 13:23:57 +01:00
skyenought
e8f8cb647b
✨ Add customTags in logger middleware Config ( #2188 )
...
* ✨ Add customTags in logger middleware Config
* improve tags with parameter
* improve logger performance
* improve logger performance
* improve logger performance
* improve logger performance
Co-authored-by: René Werner <rene@gofiber.io>
2022-11-18 13:10:43 +01:00
Andy Pan
3157fb5f1c
✨ Add callback function for middleware/logger ( #2219 )
...
* ✨ Add callback function for middleware/logger
* Refine test code
2022-11-15 12:14:32 +01:00
Glenn Lewis
13247206ab
Add URL prefix to pprof middleware ( #2194 )
...
* Add URL prefix to pprof middleware
Signed-off-by: Glenn Lewis <6598971+gmlewis@users.noreply.github.com>
* Minor tweak
Signed-off-by: Glenn Lewis <6598971+gmlewis@users.noreply.github.com>
Signed-off-by: Glenn Lewis <6598971+gmlewis@users.noreply.github.com>
2022-11-09 07:59:33 +01:00
Andy Pan
24a6170323
♻️ Leverage runtime/debug to print the full stack trace info ( #2183 )
2022-10-31 15:12:43 +01:00
Kris Carr
f26d9b1d4e
v3 (deps): update to use gofiber/utils/v2 ( #2184 )
2022-10-31 16:44:53 +03:00
Muhammed Efe Çetin
543e8bb7ea
v3: fix tests
2022-10-28 18:19:02 +03:00
Muhammed Efe Çetin
9428befb9c
Merge remote-tracking branch 'origin/master' into v3-beta
2022-10-28 17:26:17 +03:00
M. Efe Çetin
691d2e6ad5
🗑️ deprecate: go 1.14 & go 1.15 support deprecation ( #2172 )
...
* 🗑️ deprecate: go 1.14 & go 1.15 support deprecation
https://github.com/valyala/fasthttp/pull/1379
* fix tests
2022-10-26 11:51:50 +02:00
Diego Parisi
eb692727c5
✏️ Fix: comment typo ( #2173 )
...
Just a typo
I think there's a typo "unmashal" for "unmarshal"
2022-10-25 19:05:57 +03:00
marcmartin13
4d584c9c9b
📝 Cache readme and docs update ( #2169 )
...
* Update README.md
* update no-store request directive
added cache status unreachable
* Update cache.go
2022-10-25 07:52:28 +02:00
marcmartin13
c187c6a2f5
🚀 [Feature]: Cache-Control: no-cache ( #2159 )
...
* Added noCache field
Check if the request header Cache-Control contains no-cache
* Update cache.go
* Update config.go
* Update cache.go
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
* patch-1
2022-10-21 10:28:31 +02:00
kinggo
5fb93fdff6
🐛 fix: multi-byte AppName displays confusion ( #2148 )
...
fix: solve wrong print width
2022-10-21 08:30:56 +02:00
RW
ce2d087394
Improve memory storage ( #2162 )
...
* improve memory storage code and performance
* improve memory storage code and performance
* improve memory storage code and performance
* improve memory storage code and performance
* improve memory storage code and performance
* improve memory storage code and performance
2022-10-19 16:22:42 +02:00
kinggo
2b7a632a19
style: update logger's comment ( #2157 )
2022-10-17 18:42:05 +03:00
kinggo
d275091a2f
🐛 fix: solve data race in middleware/proxy's test ( #2153 )
...
fix: solve data race in middleware/proxy's test
2022-10-17 17:20:41 +02:00
xbt573
a023fc2947
🐛 Fix: Reset d.Data instead of deleting keys in it ( #2156 )
...
🐛 Reset d.Data instead of deleting keys in it
2022-10-17 16:30:34 +02:00
M. Efe Çetin
925d5d03dc
📝 docs: add doc about usage of CSRF and EncryptCookie middlewares. ( #2141 )
2022-10-06 07:54:29 +02:00
Muhammed Efe Çetin
7fb50f11f6
✏️ v3 : replace utils.AssertEqual with require in filesystem mw tests
2022-09-30 18:34:38 +03:00
M. Efe Çetin
668b0c85f8
✨ v3 (enhancement): refactor filesystem middleware with `io/fs` ( #2027 )
...
* ✨ v3 (feature): refactor filesystem middleware with `io/fs`
* update docs
* attachment support.
* fix
2022-09-29 08:28:52 +02:00
kinggo
8e8ad95079
✨ feat: support to set client in proxy mw ( #2117 )
...
optimize: add WithClient
2022-09-28 14:27:58 +02:00
Fufu
4108d73fe0
✏️ Fix: typos ( #2127 )
...
Fix: typos
2022-09-28 08:55:28 +03:00
Muhammed Efe Çetin
ca6f25a890
➕ v3 (deps): move `utils` to ` https://github.com/gofiber/utils `
2022-09-23 21:19:44 +03:00
M. Efe Çetin
10d6f69a89
✨ v3 (feature): new redirection methods ( #2014 )
...
* ✨ v3 (feature): new redirection methods
* add flash messages
* withinput, parsing flash message
* add tests
* add benchmarks
* gosec issues
* fix tests
* fix tests
* fix performance issues
* fix performance issues
* optimization.
* better names
* fix tests
* Update router.go
* fix
* fix old messaages with flash messages behavior, add new test case with req
* complete some reviews
* add pool for redirection.
* use constant
* update
* ✨ v3 (feature): new redirection methods
* fix tests, optimize cookie parsing (9 allocs -> 1 alloc)
* test case for message includes comma
* cleanup
* optimization.
* some improvements for the redirect feature
* fix Benchmark_Redirect_Route_WithFlashMessages
* some improvements for the redirect feature
* Update redirect.go
* improve message parsing & test case
Co-authored-by: René Werner <rene@gofiber.io>
2022-09-23 08:17:34 +02:00
dayu
d461bf231e
Update README.md ( #2114 )
...
some demo codes missing parenthesis, i added them to make that codes could be copied and run
2022-09-22 12:30:19 +03:00
M. Efe Çetin
305bb072be
🧹 tidy up: fix linter errors for tests ( #2102 )
2022-09-19 08:33:58 +02:00
Hakan Kutluay
7c83e38757
🔥 Update: add timeout context middleware ( #2090 )
...
* 🔥 Feature: add timeoutcontext middleware
* move timeoutconext to timeout package
* remove timeoutcontext readme.md
* replace timeout mware with timeout context mware
* Update README.md
* Update README.md
* update timeout middleware readme
* test curl commands fixed
* rename sample code title on timeout middleware
Co-authored-by: RW <rene@gofiber.io>
2022-09-16 16:03:02 +02:00
M. Efe Çetin
8ec62a64cc
🧹 update: add methods configuration for cache middleware ( #2081 )
...
* 🧹 update: add methods configuration for cache middleware
* 🧹 update: add methods configuration for cache middleware
2022-09-11 13:11:33 +02:00
M. Efe Çetin
281e2f0046
✨ v3 (feature): merge Listen methods & ListenConfig ( #1930 )
...
* ✨ v3: new Start method for app
* ✨ v3: new Start method for app
* ✨ v3: new Start method for app
* ✨ v3: new Start method for app
* ✨ v3: new Start method for app
* ✨ v3: new Start method for app
* fix tests
* improve graceful shutdown
* update
* Start -> Listen
* rename test funcs.
* Add Test_Listen_Graceful_Shutdown test.
* add OnShutdownSuccess
* fix tests
* fix tests
* split listen & listener
* typo
* Add retry logic to tests
* Add retry logic to tests
* Add retry logic to tests
* Add retry logic to tests
Co-authored-by: René Werner <rene@gofiber.io>
2022-09-08 07:57:05 +02:00
M. Efe Çetin
e9db6c70d2
v3: fix logger benchmarks ( #2074 )
...
* v3: fix logger benchmarks
* fix datarace
* fix datarace
* fix datarace
2022-09-06 17:54:39 +02:00
Muhammed Efe Çetin
e3282f6408
♻️ v3 (enhancement): replace `c.Hostname()` -> `c.Host()` & add `c.Hostname()` that returns host without port
2022-09-06 18:43:06 +03:00
Muhammed Efe Çetin
78c6197430
♻️ v3 (enhancement): remove automatic HEAD method creation from Get()
...
ref: https://github.com/gofiber/fiber/issues/2026
2022-09-05 17:41:39 +03:00
M. Efe Çetin
154e4f8201
✨ v3 (feature): refactor logger middleware ( #1979 )
...
* ✨ v3 (feature): refactor logger middleware
- Make middleware extandable for 3rd-party loggers. (https://github.com/gofiber/fiber/issues/1828 )
* ✨ v3 (feature): refactor logger middleware
- Make middleware extandable for 3rd-party loggers. (https://github.com/gofiber/fiber/issues/1828 )
* ✨ v3 (feature): refactor logger middleware
- add example for zerolog.
* ✨ v3 (feature): refactor logger middleware
- fix ToC.
* merge
2022-09-05 13:15:42 +02:00
Muhammed Efe Çetin
319b8ea3a8
Merge remote-tracking branch 'origin/master' into v3-beta
2022-09-03 23:56:45 +03:00
Fufu
87faeda5c1
🐛 Fix: EnvVar middleware parses base64 incorrectly ( #2069 )
...
* Fix: EnvVar middleware parses base64 incorrectly
* Chore: fix typo in README.md
* Chore: standardize and simplify response
2022-09-03 19:03:51 +02:00
RW
ec96d161a0
Fix csrf middleware behavior with header key lookup ( #2063 )
...
* 🐛 [Bug]: Strange CSRF middleware behavior with header KeyLookup configuration #2045
2022-08-30 14:48:31 +02:00
RW
0ebc9113d5
Update README.md
2022-08-30 08:36:17 +02:00
Emre Savcı
d9257c2c1d
🚀 [Feature]: add envvar expose middleware ( #2054 )
...
* add envvar expose middleware
* fix readme remove redundant word
* change hard coded json marshal to app config marshaller
* update readme
* update all lang readme
* change t.setenv to os.setenv as backward compability reason
* change io.readall to ioutil.readall
* Update envvar.go
* remove get method that only used in test
* remove unused method from envvar struct
* remove path variable from config, update readme, add new test case
Co-authored-by: RW <rene@gofiber.io>
2022-08-30 08:30:13 +02:00
Jason McNeil
6272d759eb
🚀 [Feature]: middleware/csrf custom extractor ( #2052 )
...
* feat(middleware/csrf): allow custom Extractor
* test: update Test_CSRF_From_Custom
* docs: add comma
* docs: update KeyLookup docs
2022-08-28 18:57:47 +02:00
Amir Hossein
ffb2d4cb1a
fix unhandled error in cache package tests ( #2049 )
...
* fix unhandled errors
* fix unhandled error in cache package test
* omit variable type
* omit variable type
* rename variable because collide with the imported package name
2022-08-26 14:10:46 +02:00
Trim21
c964fda009
v3(tests): use testify for assertion ( #2036 )
...
* replace
* write
* rewrite more
* rewrite
* rewrite
* fix
* rewrite
2022-08-22 07:57:10 +02:00
Trim21
b161f805c2
v3(enhancement): remove `utils.Trim*` ( #2030 )
...
stdlib functions have same performance in go1.19
2022-08-20 13:52:09 +08:00
Jinquan Wang
32d311cd59
🐛 monitor middleware - fix ignore custom settings ( #2024 )
...
* 🐛 fix: ignore custom settings
* 🐛 fix: ignore custom settings
* ✅ chore: add tests for config default
2022-08-19 15:09:16 +02:00
Muhammed Efe Çetin
4105b008c2
Merge remote-tracking branch 'origin/master' into v3-beta
2022-08-19 14:33:31 +03:00
M. Efe Çetin
6669ec4486
📝 docs: gofmt & add missing copyright texts ( #2013 )
2022-08-15 20:25:26 +02:00
Jinquan Wang
e8a2ba363c
🐛 bug: fix proxy overwrote the wrong scheme ( #2004 )
...
* 🐛 bug: fix proxy overwrote the wrong scheme
* ✅ fix: fix io not exist in go1.14
2022-08-09 16:14:41 +02:00
Muhammed Efe Çetin
f3067c14b3
🔥 v3: remove monitor middleware from core to reduce deps
2022-08-08 11:22:28 +03:00
M. Efe Çetin
eacde70294
✨ v3 (feature): initial support for binding ( #1981 )
...
* ✨ v3 (feature): initial support for binding
* ✨ v3 (feature): initial support for binding #1981
use pointer/references instead of copies
* ✨ v3 (feature): initial support for binding
embed bind into the ctx
* ✨ v3 (feature): initial support for binding
- add URI binder.
* ✨ v3 (feature): initial support for binding
- add response header binder.
* ✨ v3 (feature): initial support for binding
- add response header binder.
* ✨ v3 (feature): initial support for binding
- add cookie binder.
* ✨ v3 (feature): initial support for binding
- custom binder support for body binding.
- test case for custom binder.
* ✨ v3 (feature): initial support for binding
- add map[string][]string & map[string]string support for binders.
* ✨ v3 (feature): initial support for binding
- fix Test_Bind_Header_Map
* ✨ v3 (feature): initial support for binding
- Functional Should/Must
* ✨ v3 (feature): initial support for binding
- custom struct validator support.
* ✨ v3 (feature): initial support for binding
- README for binding.
- Docs for binding methods.
* ✨ v3 (feature): initial support for binding
- Bind() -> BindVars(), Binding() -> Bind()
* ✨ v3 (feature): initial support for binding
- fix doc problems
* ✨ v3 (feature): initial support for binding
- fix doc problems
Co-authored-by: wernerr <rene@gofiber.io>
2022-08-08 09:16:08 +02:00
Muhammed Efe Çetin
738e710766
♻️ v3 (enhancement): use fs.FS as Filesystem type of favicon middleware
2022-08-07 19:06:05 +03:00
M. Efe Çetin
4103f9463d
✨ feature: customizable colors ( #1977 )
...
* ✨ feature: customizable colors
* ✨ feature: customizable colors
* ✨ feature: customizable colors
2022-08-01 08:24:37 +02:00
RW
ff1e0109a3
Closes #1931 " 🤗 How to get path param before a custom verb?" ( #1983 )
...
* Add possibility for parameters before custom verb
FIX for "🤗 How to get path param before a custom verb? #1931"
* try to stabilize the tests
2022-07-27 08:37:03 +02:00
M. Efe Çetin
a458bd344c
✨ v3 (feature): convert fiber.Ctx type to interface ( #1928 )
...
* ✨ v3: convert fiber.Ctx type to interface
* update ctx methods
* add new methods to customize ctx, fix some problems
* update comments.
* fix something
2022-07-13 07:48:29 +02:00
Majid Taheri(I love optimization)
744e4da3ef
add some parameters to config for supporting #1936 ( #1956 )
...
* add some parameters to config for supporting #1936
* remove go:embed
* apply code review - 1956#issuecomment-1169811117
* lint
Co-authored-by: Muhammed Efe Çetin <efectn@protonmail.com>
2022-07-05 13:34:32 +02:00
marcelogamba
e58ad6b69a
TagLatency doesn't have consistence format between default and custom format ( #1943 )
...
Co-authored-by: Marcelo Gamba <gamba@itstransdata.com>
2022-07-04 09:14:57 +02:00
John Li
41d31a0190
fix middleware/session update cookie. ( #1960 )
2022-07-02 13:02:41 +02:00
Muhammed Efe Çetin
a2c71e548e
v3: include adopter, helmet, keyauth, redirect, rewrite middlewares into the codebase ( https://github.com/gofiber/fiber/issues/1828 )
2022-06-21 17:36:59 +03:00
Muhammed Efe Çetin
67b9542f3f
v3: rename protocol to scheme, add protocol to ctx ( https://github.com/gofiber/fiber/issues/1828 )
2022-06-21 17:24:34 +03:00
Muhammed Efe Çetin
3b943d79c9
v3: remove internal/template/html, replace internal/memory by internal/storage/memory
2022-06-04 14:19:59 +03:00
Muhammed Efe Çetin
8a15f77fc4
v3: move most deps to go.mod
2022-06-02 17:37:53 +03:00
Muhammed Efe Çetin
f119794035
v3: replace io/ioutil by io and os, update version constant
2022-06-01 18:34:22 +03:00
Muhammed Efe Çetin
9efcefa513
v3: fix tests
2022-05-31 17:55:08 +03:00
Muhammed Efe Çetin
edd89de2d6
v3: remove deprecations
2022-05-31 17:50:31 +03:00
Muhammed Efe Çetin
c7f45ec38e
v3: replace interface{}s by any
2022-05-31 17:41:38 +03:00
Muhammed Efe Çetin
1188144d78
🎉 v3: init
2022-05-31 17:35:49 +03:00
Viktor Persson
68e922d733
Refactor favicon middleware, avoid magic numbers. ( #1919 )
...
* Refactor favicon middleware, avoid magic numbers.
* Introduce constant for path to favicon.
2022-05-28 21:35:49 +02:00
Serhat Şevki Dinçer
0fdd7df0f9
📊 add refresh period to monitor mw ( #1898 )
2022-05-16 08:15:47 +02:00
Vladislav
aa229287cf
🔥 Feature: Add max size to cache ( #1892 )
...
* Cache middleware size limit
* Replace MaxInt with MaxInt32. Add comments to benchmark
* Avoid allocation in heap push. Small fixes
* Count body sizes instead of entries
* Update cache/readme
2022-05-10 08:50:26 +02:00
Serhat Şevki Dinçer
29be6691c5
📊 add page title to monitor mw ( #1893 )
2022-05-05 15:27:48 +02:00
Pinank Solanki
bb9ac8feaf
🐛 Fix expiration time in cache middleware ( #1881 )
...
* 🐛 Fix: Expiration time in cache middleware
* Custom expiration time using ExpirationGenerator is also functional
now instead of default Expiration only
* 🚨 Improve Test_CustomExpiration
* - stabilization of the tests
- speed up the cache tests
- fix race conditions in client and client tests
Co-authored-by: wernerr <rene@gofiber.io>
2022-05-01 11:43:46 +02:00