590 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
akp
e974c6793f
RFC: Return an instance of *fiber.Error when no handler found (#1847)
* Return an instance of `*fiber.Error` when no handler found

When a handler cannot be found for a given path, previously Fiber
would construct a plaintext response that cannot be modified.

This commit switches to returning a new instance of `*fiber.Error`
with identical error message so that users can customise the look
of their 404 pages.

Signed-off-by: AKP <tom@tdpain.net>

* Fix `Test_App_Next_Method`

This test was failing as the error returned by `c.Next()` that's
required to generate the correct 404 status code was not being
passed through the middleware and being silently ignored.

Signed-off-by: AKP <tom@tdpain.net>

* Fix `Test_Logger_All`

Signed-off-by: AKP <tom@tdpain.net>

* Fix `Test_Cache_WithHeadThenGet` test

As far as I can tell, this test is meant to check that a cached
HEAD request to a given endpoint does not return the cached
content to a GET request to the same endpoint, and the test has
been altered to correctly check for this.

Signed-off-by: AKP <tom@tdpain.net>
2022-04-05 08:39:53 +02:00
Vadim Gerasimenko
c92a5056ae
🩹 Fix limiter middleware db connection (#1813)
* remove release() method

* Revert "remove release() method"

This reverts commit fdfc8da967204f58f0342a5141a00cc07e1cccac.

* Rearrange mutexes in limiter_fixed.go

* refactor limiter_fixed.go

* Update limiter_fixed.go

Co-authored-by: RW <rene@gofiber.io>
2022-03-15 12:41:28 +01:00
Théotime Lévêque
1cddc56f13
Cache middleware: Store e2e headers. (#1807)
*  Cache middleware: Store e2e headers.

As defined in RFC2616 - section-13.5.1, shared caches MUST
store end-to-end headers from backend response and MUST be
transmitted in any response formed from a cache entry.

This commit ensures a stronger consistency between responses
served from the handlers & from the cache middleware.

*  Cache middleware: Add flag for e2e headers.

Set flag to prevent e2e headers caching to
be the default behavior of the cache middleware.
This would otherwise change quite a lot the
experience for cache middleware current users.

*  Cache middleware: Add Benchmark for additionalHeaders feature.

*  Cache middleware: Rename E2Eheaders into StoreResponseHeaders.

E2E is an acronym commonly associated with test.
While in the present case it refers to end-to-end
HTTP headers (by opposition to hop-by-hop), this
still remains confusing. This commits renames it
to a more generic name.

*  Cache middleware: Update README

*  Cache middleware: Move map instanciation.

This will prevent an extra memory allocation for users
not interested in this feature.

*  Cache middleware: Prevent memory allocation when StoreResponseHeaders is disabled.

*  Cache middleware: Store e2e headers. #1807
- use set instead of add for the headers
- copy value from the headers -> prevent problems with mutable values

Co-authored-by: wernerr <rene@gofiber.io>
2022-03-08 10:18:04 +01:00
Théotime Lévêque
d0934df656
✏️ Cache middleware: Fix comment typo in manager.go. (#1804) 2022-03-05 15:36:51 +03:00
Geet Manghnani
a746e5bfb8
Restore Original URL of the context after changing it (#1788)
* Restore original URL after the proxy

* Use the Immutable string to restore

* Changing deprecated ImmutableString to CopyString

Co-authored-by: Geet Manghnani <gmanghna@in.ibm.com>
2022-02-20 21:59:47 +01:00
Vadim Gerasimenko
c5f11cc800
Fix comment relating to deprecated field (#1790) 2022-02-20 19:01:16 +03:00
bigflood
e3d258655f
Fix: incorrect scheme on proxy.Do (#1762) (#1765) 2022-02-12 19:43:04 +01:00