842 Commits

Author SHA1 Message Date
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
kiyon
0d8fa6bf63
Merge pull request #1187 from kiyonlin/improve-proxy-test
👷 Improve proxy middleware test case
2021-02-23 16:28:14 +08:00
Kiyon
1a67fdb343 👷 Improve proxy middleware test case
- add t.Parallel()
- use random port
2021-02-23 15:32:27 +08:00
circa10a
c1386ff6c5 📝 docs: add embed example for go 1.16 2021-02-18 09:38:05 -06:00
Joey
557023f399
Merge pull request #1150 from cornerot/patch-1
🐛 Fix setting host header in proxy middleware
2021-02-17 14:12:38 +01:00
RW
7d51885384
📚 fix wrong session code example (#1170)
📚 fix wrong session code example
2021-02-16 14:50:17 +01:00
cornerot
0e2e04b9ba
add fasthttp.LBClient to the proxy middleware 2021-02-04 23:04:11 +03:00
Joey
66c457d5c8
Merge pull request #1135 from tianjipeng/fix/cache
ajust config.Next position
2021-01-31 07:55:25 +01:00