3308 Commits

Author SHA1 Message Date
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
dependabot[bot]
0120531fcc
Bump github.com/valyala/fasthttp from 1.33.0 to 1.34.0 (#1811)
Bumps [github.com/valyala/fasthttp](https://github.com/valyala/fasthttp) from 1.33.0 to 1.34.0.
- [Release notes](https://github.com/valyala/fasthttp/releases)
- [Commits](https://github.com/valyala/fasthttp/compare/v1.33.0...v1.34.0)

---
updated-dependencies:
- dependency-name: github.com/valyala/fasthttp
  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>
2022-03-08 08:37:26 +01:00
Edward zZhang
f2391a9688
update some translation (#1815) 2022-03-07 23:08:47 -05:00
Serhat Şevki Dinçer
870f9427a2
Optimize App.buildTree() (#1809)
*  Optimize App.buildTree()

- Reduces reads from / writes to slices
- Reduces reads from maps
- Increases sorting speed

*  Add Benchmark_Startup_Process()
2022-03-07 19:01:30 +01:00
M. Efe Çetin
10fa3ef6f5
🤖 deps: bump goccy/go-json to v0.9.5 (#1808)
* bump goccy/go-json to 0.9.4

* bump goccy/go-json to 0.9.5
2022-03-05 21:19:03 +01:00
Théotime Lévêque
df85b62a78
🐛 Fix go-json generator. (#1806)
go generate ./... generates panic as import paths have
probably changed over time. This commit free this command
from panics.
2022-03-05 15:39:34 +03:00
Théotime Lévêque
d0934df656
✏️ Cache middleware: Fix comment typo in manager.go. (#1804) 2022-03-05 15:36:51 +03:00
Serhat Şevki Dinçer
8b0170c0f4
🔗 Fix goreportcard & pkg.go.dev links in READMEs (#1798)
* 🔗 Fix goreportcard & pkg.go.dev links in READMEs

* 🔗 Fix package comment for pkg.go.dev links

* 🔗 Replace golang.org links with go.dev in READMEs

Co-authored-by: RW <rene@gofiber.io>
2022-03-03 11:54:56 +01:00
M. Efe Çetin
5c1ddb3245
Translation fixes (#1800) 2022-03-03 11:23:06 +01:00
RW
a033ca240b
📒 Update readme (#1794)
* 📒 Update readme
- add some middlewares
- add section for awesome list

* 📒 Update readme
- add some middlewares
- add section for awesome list

* 📒 Update readme
- add some middlewares
- add section for awesome list
2022-02-28 10:22:17 +01:00
RW
d4c3f27023
prepare release 2.28.0 v2.28.0 2022-02-28 08:19:40 +01:00
M. Efe Çetin
a7032b7a17
Update TLS Config & Add ListenMutualTLS (#1761)
* deprecations

* Add mTLS support.

* update

* update

* Update app.go
2022-02-24 08:01:42 +01:00
M. Efe Çetin
b0dd0bdb14
Update app.go (#1787) 2022-02-22 08:10:55 +01: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
RW
1bbcb4b8f3
Fix for "Why net.Addr is fiber.testAddr, not *net.TCPAddr?🤗 #1574" (#1784) 2022-02-19 02:08:06 +01:00
Rendi Putra Pradana
cf47f06ad1
📝 docs: translate some words to bahasa(ID) (#1780)
* docs: translate some words to bahasa

Translate:
download -> unduh
WebSocket support -> Mendukung WebSocket
Route Naming -> Penamaan Route
default -> bawaan

* 📝 docs: translate some words to bahasa(ID)
2022-02-15 15:48:30 +03:00
Fufu
7b1a7a9513
fix: utils.TrimBytes should trim all content (#1779)
* perf: if all string content should be trimmed, end the loop early

* test: complete test cases for all Trim functions

* fix: utils.TrimBytes should trim all content
2022-02-15 07:57:51 +01:00
M. Efe Çetin
e1833df93c
docs: add SSE example (#1776) 2022-02-14 16:27:57 +01:00
RW
daab00c36e
prepare release 2.27.0 v2.27.0 2022-02-14 15:32:18 +01:00
Eren BALCI
74a20b4589
🩹 fix: backwards incompatible change to fiber.Error (#1768)
* fix: backwards incompatible change to fiber.Error

* revert: work backward compatible
2022-02-14 08:17:04 +01:00
Trim21
391ae594d8
fix: utils.Trim should trim all string content (#1775)
* fix: `utils.Trim` should trim all string content

* add empty string input

* better fix
2022-02-14 08:01:15 +01:00
M. Efe Çetin
937713e41e
feature: bind support for render (#1754)
* Bind support for Render.

* update

* fix tests

* split Pass-locals-to-views & Bind from Render

* update comments.

* add benchs.

* Update ctx.go

Co-authored-by: hi019 <65871571+hi019@users.noreply.github.com>

* Update ctx.go

* optimize

* switch dictpool.

*  feature: bind support for render
- improve performance

*  feature: bind support for render
- improve performance

Co-authored-by: hi019 <65871571+hi019@users.noreply.github.com>
Co-authored-by: wernerr <rene.werner@verivox.com>
Co-authored-by: wernerr <rene@gofiber.io>
2022-02-12 22:52:24 +01:00
bigflood
e3d258655f
Fix: incorrect scheme on proxy.Do (#1762) (#1765) 2022-02-12 19:43:04 +01:00
M. Efe Çetin
aa56364445
bump goccy/go-json to 0.9.4 (#1771) 2022-02-12 19:36:48 +01:00
liaohongxing
1fd6eabba9
fix cache docs error (#1769) 2022-02-12 13:00:00 +01:00
apoq
b9efc76722
Fix cache mutex lock (#1764) 2022-02-11 09:48:52 +01:00
Sujit Baniya
505e4d77a7
[FEATURE REQUEST] - Add RedirectToRoute and RedirectBack (#1750)
* Add Global Layout for view render

* Add test case for Views Layout

* Update ctx_test.go

* Add App Name function to pass custom app name

* Remove json tag for function

* Change func to string

* Add test for AppName

* Add RedirectToRoute and RedirectBack with fallback if referer in header not found

* replace errors.New with fmt.Errorf

* simplified code

* Add tests for different formats

* Add method to get route location and add benchmarks

* Add ToString function

* Fix error

* rearrange case for fmt.Stringer

* Fix bug for error return

* Lock latest route for app.Name(namee string)

* decreasing timeout for client test with timeout

* remove println and adjust condition to > 0

Co-authored-by: RW <rene@gofiber.io>
2022-02-09 09:02:45 +01:00
M. Efe Çetin
8bd1509311
Change default gc interval. (#1756) 2022-02-07 13:42:40 +01:00
Abhishek Mehandiratta
68fcd8c88f
Feature: Session Only Cookies (#1752)
* feat(ctx): add SessionOnly property on Cookie struct

* feat(middleware/config): add CookieSessionOnly property on middleware Config struct

* feat(csrf): link config CookieSessionOnly with fiber.Cookie in create middleware function

* fix(ctx_test): add tests for SessionOnly cookie in test_ctx_cookie

* fix(readme): update readme in csrf middleware for CookieSessionOnly property

* remove deprecated property from CookieSessionOnly explaination comments
2022-02-07 13:35:00 +01:00
M. Efe Çetin
ad1a925d38
add missing json errors. (#1755) 2022-02-06 21:28:02 +01:00
M. Efe Çetin
c450072f4a
🐛 fix: mounted app views (#1749)
* Fix mounted app views.

* Cleaner structure.

Co-authored-by: RW <rene@gofiber.io>

* remove unnecessary lines.

* Add test case for group-with-mount, remove unnecessary lines.

Co-authored-by: RW <rene@gofiber.io>
2022-02-06 14:58:45 +01:00
Norbert Hauriel
569511eb78
📝 fix file names (#1747) (#1748) 2022-02-03 12:58:59 -05:00
Matthias Neugebauer
8853190031
🔥 Feature: Add ability to restart route handling (#1739)
* 🔥 Feature: Add ability to restart route handling

* Change test names

Co-authored-by: RW <rene@gofiber.io>
2022-02-03 15:09:46 +01:00
Lian
af10fab05b
Add direct download option when serving static files (#1729)
* enable download for app.Static


wording

* Add unit test.

Co-authored-by: Muhammed Efe Çetin <efectn@protonmail.com>
2022-02-03 14:41:45 +01:00
RW
4d3cc6cd89
Bump github.com/valyala/fasthttp from 1.32.0 to 1.33.0 (#1744) 2022-02-03 14:14:32 +01:00
Aliqyan Tapia
39a503cc1d
🚀 SaveFile to default External Storage (#1557)
* fiber change

* reference correct storage in SaveFile

* seperate logic to new function

* Change storage defination style, fix tests on go1.14

* Add unit test.

Co-authored-by: Alex Bakker <abakks@hotmail.com>
Co-authored-by: M. Efe Çetin <efectn@protonmail.com>
2022-02-03 14:09:11 +01:00
RW
6b29698d91
prepare release 2.26.0 v2.26.0 2022-02-03 09:43:41 +01:00
Norbert Hauriel
d85ae2bce3
Doc(limiter): clarify variable name 'expire' (#1742)
This clarifies the intent of variable 'expire' by renaming to
the more understandable 'resetInSec'. All mentions are renamed as well.
2022-02-03 09:26:25 +01:00
Ege Can ÖZER
719992cb75
Add 3rd party middleware eozer/fiber_ldapauth (#1743)
* Add 3rd party middleware eozer/fiber_ldapauth

* Add 3rd party middleware eozer/fiber_ldapauth to other READMEs as well
2022-02-02 20:04:24 +03:00
cenkkoroglu
f3dcb2220e
📝 fix typo (#1741) 2022-02-01 20:42:23 +01:00
M. Efe Çetin
5766feef29
feature: add Next to Pprof and Expvar middlewares. (#1737)
* Add Next to Pprof and Expvar middlewares.

* Update READMEs.
2022-01-29 22:24:32 +01:00
M. Efe Çetin
d3c2122086
Fix route naming when to use group in group. (#1736) 2022-01-29 15:26:01 +01:00
vecpeng
6036f402db
feat: add retryIf function to client agent (#1726) 2022-01-27 12:41:55 +01:00
Eren BALCI
7cf1886df5
Fix NewErrors() and Improve NewError() (#1728)
* fix new errors

* fix tests

* removed new errors tests

* changed error message type

* fixed NewError test

* added NewErrors function

* added Test_NewErrors

* added comment line

* refactor: Sprintf changed with Sprint
2022-01-27 12:41:10 +01:00
M. Efe Çetin
a51ec9bc69
🔥 Feature: Add ReqHeaderParser. (#1721)
* Add ReqHeaderParser.

* Cleanup and tidy up parser codes.

Co-authored-by: RW <rene@gofiber.io>

* Add benchmark for ReqHeaderParser.

* Revert collectVisitAllData

Co-authored-by: RW <rene@gofiber.io>
2022-01-24 20:41:37 +01:00
M. Efe Çetin
559f59f198
Add Route() method like Chi router. (#1713) 2022-01-24 16:37:28 +01:00
Jesse Quinn
d411ec10d6
added HEAD method to caching (#1730)
* added HEAD method to caching

* changed key due to head and get sharing same key

* Update cache.go

- add a improvement task for later

* Update cache.go

correct comment

Co-authored-by: Jesse Quinn <jesse.quinn@zpesystems.com>
Co-authored-by: RW <rene@gofiber.io>
2022-01-24 16:36:46 +01:00
kingdevnl
82d1039416
feature: Pass all locals to ctx.Render (#1693)
* feature: Pass all locals to ctx.Render

* add test case for render using locals

* Added option PassLocalsToViews to enable pass locals to render

The option PassLocalsToViews is set to disabled by default

* Added a check to see if the ctx bind already contains the value

* Added a test for ctx render with locals and binds.
2022-01-24 08:29:46 +01:00
dependabot[bot]
d59f1af9c8
Bump github.com/valyala/fasthttp from 1.31.0 to 1.32.0 (#1700)
Bumps [github.com/valyala/fasthttp](https://github.com/valyala/fasthttp) from 1.31.0 to 1.32.0.
- [Release notes](https://github.com/valyala/fasthttp/releases)
- [Commits](https://github.com/valyala/fasthttp/compare/v1.31.0...v1.32.0)

---
updated-dependencies:
- dependency-name: github.com/valyala/fasthttp
  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>
v2.25.0
2022-01-21 09:24:11 +01:00