799 Commits

Author SHA1 Message Date
András Czigány
5f1acd3c56
🔥 Feature: Add Skip middleware (#1465)
* add Skip middleware

* middleware/skip: fix test expectations
2021-08-04 10:05:29 +02:00
goldwind-ting
846d5a5b38
[Logger]: add tag for response header (#1446)
* add TagRespHeader to get response header

* #1422:add unittest

* #1422:adjust docs for logger middleware

* #1422:adjust docs for logger middleware
2021-08-04 08:19:41 +02:00
RW
d777d889bb
Fix cache expired test (#1461)
* Improve/Stabilize the "Test_Cache_Expired" test run
2021-07-30 20:19:18 +02:00
Marcos de Oliveira
30ba99425f
Add ${port} logger variable (#1448)
* Add c.Addr() and c.Port() functions and logger port variable

* Add gofmt suggestion, README.md description and test

* Remove c.Addr() func and use c.fasthttp.RemoteAddr() instead
2021-07-22 17:42:29 +02:00
HugHunter
7cd8219420
Update README.md (#1444)
spotted a small mistake in the docs
2021-07-19 12:51:03 +02:00
Kazumasa Takenaka (Bamboo)
f5338266e3
fix typo (#1442)
paramters -> parameters
avilable  -> available
seperated -> separated
2021-07-17 17:20:14 +02:00
Spedoske
cd802dfead
Fix: copy the data in buffer instead of using original data. (#1425) 2021-07-11 12:35:02 +02:00
Spedoske
e082880297
Fix: Session middleware issues (#1407)
* Update session.go

Fix: Session.Regenerate does not set Session.fresh to be true.

* Fix: Session should be regenerated if the session can not be found in the storage
https://github.com/gofiber/fiber/issues/1408

* Add test for session and store in session middleware.

* Clean up code

* Update middleware/session/session.go

Co-authored-by: hi019 <65871571+hi019@users.noreply.github.com>
2021-06-30 08:01:22 +02:00
tuhao1020
93dc33ad89
add tls config for http client in proxy middleware (#1393)
* add tls config for http client in proxy middleware

* update exmaple and make tls.config also affects to proxy.Balancer

* add Test_Proxy_Forward_WithTlsConfig

* add a variable of type *tls.Config

* add a RWMutex for clientTlsConfig

* remove global tls config

* Update README.md

* Update proxy.go

Co-authored-by: RW <rene@gofiber.io>
2021-06-24 08:13:18 +02:00
Javad Rajabzade
7609117cec
Improved some conditions (#1386)
* simplify `u <= (1<<7)-1` to `u < (1 << 7)`

* It's not recommended to use `len` for empty string, we can check with string with ""

* It's not recommended to use `len` for empty string, we can check with string with ""

* It's not recommended to use `len` for empty string, we can check with string with ""

* It's not recommended to use `len` for empty string, we can check with string with ""

* Instead Bool comparison can using simplified bool check if !var = false checking

* Unnecessary use of fmt.Sprintf for value without format

* For check condition two value not required ! method

* nil check may not be enough for slice, better check with len

* function parameters combined

* When the form returns error information, the text content should not start with a capital letter or end with a punctuation mark

* error var invalidPath should have name of the form errFoo, It is recommended that the error variables that are part of an API should be named

* change to condition len(x), it's faster https://github.com/gofiber/fiber/pull/1386#discussion_r652369520

* Update write.go

* Update write_bytes.go

* Update store.go

Co-authored-by: RW <rene@gofiber.io>
2021-06-17 22:03:59 +02:00
João Victor Santos
c08568e247
🔥 feat: expiration per session (#1363)
* feat(middlewares): expiration per session

* test(middlewares): session with expiration

* docs(middlewares): session

* chore: apply suggestions from code review
2021-06-13 12:39:19 +02:00
Wei Lun
bca01cc9cc
🔥 Feature: add cache header to show cache status (#1368)
* add cache header to show cache status

* update default CacheHeader to X-Cache

* add CacheHeader test

* Update cache_test.go

use constants in test

Co-authored-by: RW <rene@gofiber.io>
2021-06-13 10:52:03 +02:00
hi019
a7d9c6816e
Fix session delete when there is one key (#1366)
* Add regression test, attempt solution

* Attempt 2
2021-06-05 20:15:06 +02:00
RW
8e89949381
🚀 Configure proxy.Balancer with custom timeout #1362 (#1364)
* 🚀 new possibility to escape special routing parameters, which gives the possibility to follow the google api design guide https://cloud.google.com/apis/design/custom_methods

* 🚀 new possibility to escape special routing parameters, which gives the possibility to follow the google api design guide https://cloud.google.com/apis/design/custom_methods

* 🚀 Configure proxy.Balancer with custom timeout or client #1362

* 🚀 Configure proxy.Balancer with custom timeout or client #1362
2021-06-04 16:54:03 +02:00
bestgopher
2d6323c197
:fix #1360 (#1361) 2021-06-03 16:02:17 +02:00
Costa
bad3abb8ed
fix comments in proxy middleware (#1355)
fix a little comment wrong in proxy middleware
2021-06-01 08:34:33 +02:00
LeoZhan
9b3662eae0
🔥 Customize the source of session_id (#1159)
* 🔥 Feature: Define KeyLookup configuration (#1110)

* 🔥 Feature: Allow session ID to be written in header (#1110)

* 🔥 Feature: Allow session ID to be obtained from different sources (#1110)

* 📚 Doc: Add Source configuration (#1110)
2021-05-29 02:48:25 +02:00
João Victor Santos
0de49175c7
feat(middlewares): session keys (#1337)
*  feat(midlewares): session keys

- added a sess.Keys() method who retrive all keys from current session

* docs(middlewares): session
2021-05-23 08:45:33 +02:00
bestgopher
2f05108351
fix pprof redirect path (#1330)
* 📒:fix redirect path

* ️:fix test case

* 📚:use constant instead of number

* 🔥:TrimRight instead of TrimSuffix
2021-05-19 12:47:07 +02:00
sadfun
547bdb1c23
Change deprecated struct elements (#1335)
Duration and Store are deprecated, so we should show Expiration and Storage in example
2021-05-18 10:56:55 +02:00
Tom
21c9fb4936
🔥 Add PathPrefix parameter to filesystem middleware (#1326)
See #1308

This adds a parameter called `PathPrefix` to `filesystem.Config`
that is prepended to any filepath being read from
`filesystem.Root`.

Intended to be used with Go 1.16's `embed.FS` type.

Signed-off-by: Tom <tom@tdpain.net>
2021-05-12 08:58:01 +02:00
Yash Garg
e7d5759733
📝update handler example in timeout (#1328) 2021-05-10 10:48:07 -04:00
Ivan Sotnikov
15cb3dc025
🐛 Cache Middleware - Race condition in the cache expiration logic. Round 2 (#1310)
* 🐛 fix: decrease watchdog period time
2021-05-04 09:18:48 +02:00
Sepehr Rafiei
a95e371920
🐛 Print logger's error to stderr if given io.writer failed (#1299)
Co-authored-by: Sepehr Rafiee <sepehr.rafiee@snapp.cab>
2021-04-25 10:32:35 +02:00
kiyon
3b9f78a02d
Merge pull request #1288 from fernandobandeira/master
 Etag middleware support to custom etags
2021-04-22 19:40:37 +08:00
Jean-Sébastien Ney
c3aafde9db
[middleware/proxy] add buffer size configuration (#1292)
* add buffer size

* add tests
2021-04-20 12:56:00 +02:00
Fernando Bandeira
72c84639be Etag middleware support to custom etags 2021-04-18 23:08:01 -03:00
Nik Schaefer
12b57db688
📚 Doc: Correct cors to favicon in import statement (#1279) 2021-04-11 21:07:31 +02:00
Nik Schaefer
a6868c24b9
📚 Doc: Correct Session to Crsf in Import (#1277) 2021-04-10 16:19:40 -04:00
Sagar Sonwane
ecfcf1cc00
♻️ Removed Printed Warning (#1268)
* ♻️ Removed Printed Warning

removed print statement for warning from monitor.go file

* 📝 Added Warning Message in Readme

added warning message in monitor middleware readme
2021-04-06 15:21:53 +02:00
SianLoong
c71da35ddb
🐛 fix: even error we gonna to unlock it, else it will went deadlock (#1248) 2021-03-30 23:40:09 +02:00
Roman
ca0e784fb9
Refactor cache middleware to not-use the deprecated methods (#1246)
* ♻️ refactor: cache: don't use the deprecated `SafeBytes` and use `CopyBytes` instead

* ♻️ refactor: utils: remove deprecated and unused methods
2021-03-30 23:31:03 +02:00
RW
b1b490645e
Fix session middleware (#1235)
encoding/gob for session middleware
2021-03-26 11:24:55 +01:00
iRedMail
7537390be0
Add a TODO item to remind implementing a breaking change in fiber v3. 2021-03-20 13:36:22 +08:00
iRedMail
078b6e295a
Fix comment in middleware/csrf/config.go 2021-03-20 12:58:08 +08:00
iRedMail
e2fd329f1e
Fix incorrect comment in middleware/session/config.go 2021-03-20 12:55:39 +08:00
Ivan Sotnikov
d9c13d3442
🐛 Set expiration time in test to 1.5 due to the timer error (#1229) 2021-03-19 19:10:53 +01:00
Ivan Sotnikov
b517de85ec
🐛 update expiration for expired entry (#1228) 2021-03-17 08:08:44 +01:00
Zuolar
4dcb490489
fix logger [WARNING: DATA RACE] (#1226)
* fix logger [WARNING: DATA RACE]
* add logger unit test for data race
2021-03-17 08:08:15 +01:00
Joey
0f18e0f1b0
Merge pull request #1194 from gofiber/csrf-mw-restructuring
CSRF MW Restructuring
2021-03-09 15:32:16 +01:00
hi019
13f0d5bb61 Remove global variable 2021-03-09 09:29:47 -05:00
iRedMail
a179c6665c
✏️ FS MW: add example of embedding directory (#1197)
Co-authored-by: hi019 <65871571+hi019@users.noreply.github.com>
2021-03-02 12:12:40 -05:00
hi019
983919fd18
CSRF Docs - Add note about how to get token (#1196) 2021-03-01 20:32:22 -05:00
hi019
b31953ab8d Revert "Remove global variable"
This reverts commit 2d4d2f7c
2021-03-01 16:38:56 -05:00
hi019
2d4d2f7c47 Remove global variable 2021-03-01 16:30:04 -05:00
hi019
86e43593cd CSRF MW Restructuring 2021-03-01 16:25:32 -05:00
Jason McNeil
53e5dc523e
🩹 Fix: CSRF middleware cookie<>storage bug squashed and other improvements (#1180)
* expire cookie on Post, Delete, Patch and Put

Cookie should always expire on Post, Delete, Patch and Put as it is either valid and will be removed from storage, or is not in storage and invalid

* token and cookie match

* retrigger checks

* csrf tests

* csrf per session strategy
2021-03-01 17:44:17 +01:00
tianjipeng
59b12fbcb2
fix: lookup cookie in response header (#1191) 2021-03-01 17:25:36 +01:00
Andrew DeChristopher
13c4245242 🔥 Fix favicon filesystem tests
This change exists to support go 1.16 embedded filesystems and other network filesystems that can't simply be read as a file from a system path.
2021-02-24 12:27:32 -05:00
Andrew DeChristopher
6a5698277c 🔥 Add optional FileSystem config to favicon middleware
This change exists to support go 1.16 embedded filesystems and other network filesystems that can't simply be read as a file from a system path.
2021-02-24 11:42:54 -05:00