Commit Graph

276 Commits (revert-3287-context-middleware)

Author SHA1 Message Date
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
wja513 dd45be693a
cookie: add possibility to disable same site attribute (#1428)
* fix some old browsers cann't set the cookie if it contains SameSite property.

* add "SameSite" attribute constants and test case.

Co-authored-by: wangjiangao <wangjiangao@360.cn>
2021-07-16 20:08:17 +02:00
tuhao1020 a109dc6c68
Schema parser: use full match instead of strings.HasPrefix (#1424)
* #1414 use full match instead of strings.HasPrefix

* update for  nested or recursive structs

* replace strings.Contains with strings.IndexByte
2021-07-11 11:45:15 +02:00
Oleg Roshnivskyy 5ba78cd24a
🔥 Feature: Add TrustedProxies feature (#1397)
* 🔥 Feature: Add TrustedProxies feature

Add TrustedProxies feature to prevent HTTP header spoofing.

* Update ctx.go

* Update app.go

* Update app.go

Co-authored-by: hi019 <65871571+hi019@users.noreply.github.com>
2021-06-30 08:03:45 +02:00
alfuhigi 43876dad8f
🧹 remove duplicate in test (#1404) 2021-06-24 12:29:48 +02:00
Andreas 2703e92c5d
Added decompression cases for Body function (#1402)
* Added decompression cases for Body function

* Fixed signature of Body() function

* Removed regex, added Header.Peek

* Added test case with compression

* Added Benchmark, moved compression names to helpers and made them constants

* Added long brotli as a constant

* Update ctx.go

improve Body function

* Update ctx.go

improve performance

* Fixed formatting

* Update helpers.go

Co-authored-by: RW <rene@gofiber.io>
2021-06-24 07:47:21 +02:00
Sujit Baniya cb5f2f7eab
🔥 Add Global ViewLayout (#1384)
* Add Global Layout for view render

* Add test case for Views Layout

* Update ctx_test.go
2021-06-14 11:10:49 +02:00
Kshitij Patil 8616b41517
🔥 Adding user context (#1341)
* Adding user context

* adding docblock

* correcting comments

* minor change in comment

* Update ctx.go

Co-authored-by: RW <rene@gofiber.io>
2021-05-24 00:46:52 -04:00
SianLoong da1877f16c
🏗️ chore: enable decoder's ZeroEmpty by default (#1285) 2021-05-17 15:46:36 +02:00
Diego Sandrim 0dc67e80d2 Moves .getBytes and .getString from package variable to App instance variable, avoiding data race when creating a new App. 2021-05-05 17:24:26 -03:00
Eduardo Andrés Castillo Perera 47f44f3960
Add method to get an integer directly from the Ctx params (route params) (#1243)
* Created ParamsInt method in Ctx
* Created test for the ParamsInt method
* Recover accidentally removed comments
2021-03-28 15:49:51 +02:00
SianLoong 861e5d21fb
🐛 Fix unexpected result when `QueryParser` parse slice data type (#1238) 2021-03-24 20:12:57 +01:00
ReneWerner87 42755c30e6 Accelerate start process for many routes #1081 2021-01-24 13:02:21 +01:00
ReneWerner87 d4bbd08bbb 🐛 UnescapePath not working #1102
change arabic test string to test

Co-authored-by: Fenny <fenny@gofiber.io>
2021-01-06 13:52:34 +01:00
ReneWerner87 4f5e57d8de 🐛 UnescapePath not working #1102
Co-authored-by: Fenny <fenny@gofiber.io>
2021-01-06 13:46:50 +01:00
Fenny 8bd50de610 🧹 housekeeping 2020-11-11 13:54:27 +01:00
ckcks12 e0122f261c 🐛 queryparser: query args count based condition removed 2020-10-26 14:48:21 +09:00
ReneWerner87 d8961a7ed9 🐛 Fix (*Ctx).Accepts
Co-authored-by: Fenny <fenny@gofiber.io>
Co-authored-by: navossoc <navossoc@gmail.com>
2020-10-24 20:06:13 +02:00
kiyon d0e828dbf5 🍀 Improve test coverage 2020-10-24 16:24:48 +08:00
yonbiaoxiao d622469203 improve base uri for ctx 2020-10-19 14:01:34 +08:00
kiyon f70acc5bae 🩹 Improve test case for Ctx.SendFile to cover #908 as #911 mentioned 2020-10-11 08:28:41 +08:00
David Mazary 618b753230 🚨 Fix gosimple lint warnings 2020-10-03 13:20:54 -04:00
kiyon ea79c4ef45 👷 add ctx test case to improve coverage 2020-10-04 00:25:46 +08:00
Fenny 3fbc1470c6 🏀 Support splitting in QueryParser
Co-Authored-By: Nathaniel Peiffer <nathaniel@peiffer.com.au>
2020-09-20 12:15:53 +02:00
Fenny 4163d4473a 📦 introduce WriteString 2020-09-18 11:52:06 +02:00
Fenny 2768ea2a77 🙌 make utils public
Co-Authored-By: RW <7063188+ReneWerner87@users.noreply.github.com>
2020-09-14 12:12:29 +02:00
Fenny a3cac71ae8 🔦 move utils to internal 2020-09-14 09:09:06 +02:00
Fenny ec5d66e7a8 v2 2020-09-13 11:20:11 +02:00
ReneWerner87 67caca823b 🚀 improve routing behavior 2020-08-10 09:50:53 +02:00
ReneWerner87 d9c09fa68e 🚀 improve routing behavior 2020-08-09 19:50:10 +02:00
kiyon 7863cd1458 👷 add ctx.Render test cases 2020-07-29 11:07:47 +08:00
kiyon 5ee5418b36 👷 add ctx.SendFile test cases 2020-07-29 10:03:47 +08:00
fenny d06256c944
Merge pull request #675 from larrylv/larrylv/improve_no_cache_header_matching
🚀 Don't use regexp for no-cache value check
2020-07-27 04:43:19 +02:00
Larry Lv affd3469ba
🧹 Add benchmark for Fresh with stale etag 2020-07-26 18:55:47 -07:00
Larry Lv 49d6d04daf
Add Fresh with no-cache benchmark 2020-07-25 22:36:38 -07:00
Larry Lv fd75ef0fbe
🚀 Don't use regexp for no-cache value check 2020-07-25 22:35:43 -07:00
fenny 415a6026c1
Merge pull request #671 from kiyonlin/fix-ctx-ips
🩹 when X-Forwarded-For is empty, ctx.Ips() should be empty
2020-07-24 17:28:26 +02:00
kiyon cf22aa2ae5 🩹 handle invalid http method 2020-07-24 22:55:57 +08:00
kiyon 4ebd887faa 🩹 when X-Forwarded-For is empty, ctx.Ips() should not return any(even empty) ip 2020-07-24 21:53:08 +08:00
Fenny e3a5ba067b 🗑️ Remove deprecated tests
Co-Authored-By: RW <renewerner87@googlemail.com>
Co-Authored-By: kiyon <kiyonlin@users.noreply.github.com>
2020-07-22 02:07:06 +02:00
ReneWerner87 88b4da6a03 Improve ctx.Is performance 2020-07-21 21:09:51 +02:00
kiyon 761532a3a5 📗 improve ctx.Render test 2020-07-18 08:44:32 +08:00
kiyon 30a704b5f9 👷 improve test coverage 2020-07-16 16:42:36 +08:00
fenny a2f2e76c3d
Merge pull request #619 from Fenny/master
🧫 Add TLS tests
2020-07-15 13:10:14 -04:00
Fenny ca1bd29359 🧪 Add TLS Tests 2020-07-15 18:50:28 +02:00
Fenny ca18303938 🧪 Increase test coverage: 96.4% 2020-07-15 18:01:05 +02:00
fenny 9544f1d8cc
Merge pull request #615 from kiyonlin/remove-invalid-benchmark
🚽 remove invalid benchmark
2020-07-15 09:53:59 -04:00
kiyon ef7995fe74 🚽 remove invalid benchmark 2020-07-15 21:45:21 +08:00
Fenny ad2052cf8f 🚀 Improve Send 2020-07-15 15:26:05 +02:00
Fenny 7fc4b37dfb 🩹 Fix prefork test 2020-07-15 15:10:59 +02:00
Fenny d2fd400781 🩹 Fix render test 2020-07-15 14:53:57 +02:00
Fenny d1b80af26e 🩹Fix render test 2020-07-15 14:49:01 +02:00
Fenny 32cd3e225f 🩹 Fix render test 2020-07-15 14:38:32 +02:00
Fenny e38fc98658 🧪 Remove parallel from render engine 2020-07-15 14:32:29 +02:00
Fenny b4726f4071 🧪 Remove parallel from render test 2020-07-15 14:32:03 +02:00
fenny b11568bbef
Merge pull request #610 from kiyonlin/improve-query-parser-performance
🚀 improve ctx.QueryParser performance
2020-07-15 08:18:41 -04:00
fenny 4e810030e4
Merge pull request #611 from kiyonlin/improve-ctx-coverage
💯 improve ctx test coverage
2020-07-15 08:18:17 -04:00
kiyon 3166ff56b2 🆕 Create ctx.BodyParser benchmark 2020-07-15 16:56:40 +08:00
kiyon 558917f147 💯 cover error statement 2020-07-15 14:22:31 +08:00
kiyon 8bdb67e8b7 💯 improve ctx test coverage 2020-07-15 14:07:05 +08:00
kiyon e5204f4738 🚀 improve ctx.QueryParser performance 2020-07-15 12:57:56 +08:00
fenny 155e6a0673
Merge pull request #606 from ReneWerner87/fix_append_bug
🐞 prevent duplicates in ctx.Append for similar wording of the value
2020-07-14 08:02:12 -04:00
ReneWerner87 fa9128b7d6 🐞 prevent duplicates in ctx.Append for similar wording of the value 2020-07-14 12:21:55 +02:00
kiyon 3156fcca3d 🍤 improve ctx test coverage 2020-07-14 15:24:24 +08:00
Fenny 61c560db1e 🏓 Add test comments 2020-07-13 15:42:23 +02:00
fenny 96d5286e9d
Merge pull request #597 from kiyonlin/invalid-method
💫 short the invalid method check
2020-07-13 05:43:36 -04:00
kiyon eb0bc94393 💫 short the invalid method check 2020-07-13 16:47:15 +08:00
kiyon 9d9cfa8424 🚨 extract func quoteString() for ctx.Attachment and ctx.Download 2020-07-13 12:37:50 +08:00
renanbastos93 4470d77295 📦 feat: method QueryParser in context 2020-07-11 14:38:21 -03:00
fenny 89493f5565
Merge pull request #584 from ReneWerner87/improveAttachment
🚀 Better performance for ctx.Attachment
2020-07-11 11:55:30 -04:00
RW 1844cfd9f7
Merge branch 'master' into improve-json 2020-07-11 17:13:52 +02:00
ReneWerner87 9a238fbde8 🚀 Better performance for ctx.Attachment 2020-07-11 17:00:01 +02:00
kiyon b2d7b37e3d 😑 remove & in benchmark 2020-07-11 22:34:07 +08:00
Fenny c12a0372cf 🚀 Improve JSON response 2020-07-11 12:57:28 +02:00
kiyon 5175222c03 🚀 remove `&` to improve ctx.JSON(😭) 2020-07-11 16:35:52 +08:00
kiyon 30ac2a8e6c 🍞 adjust test cases 2020-07-11 15:53:08 +08:00
kiyon a6e51e8a2b 🏁 remove extra '\n' added by encoder.Encode 2020-07-11 15:41:44 +08:00
kiyon f49f1cbbc1 🚀 improve ctx.JSON 2020-07-11 10:06:35 +08:00
kiyon 367dd7d33f 🚀 improve ctx.SendBytes performance 2020-07-09 13:20:31 +08:00
kiyon 7f5d7ec9bc 🚀 improve ctx.Send performance 2020-07-09 13:20:24 +08:00
Fenny d64f1f5563 ✔️ Adjust Test for Next(err) 2020-07-08 21:07:06 +02:00
Fenny 964f3c59ae 🔨 Make Params available in Route 2020-07-05 11:17:42 +02:00
Ryan Swanson 104f4fcddf add ParamList to ctx 2020-07-04 13:47:54 -06:00
Fenny 5250a33879 Add defaultvalue 2020-07-04 10:11:23 +02:00
Fenny 34ac831143 Add json formatting 2020-07-02 20:26:38 +02:00
Fenny 1d4478bf00 🧹🧹 Cleanup 2020-07-02 13:51:10 +02:00
ReneWerner87 56ef697e00 🤔 Why refreshing single page in Browser could lost html document via sendfile method? #516
- fix this issue
2020-06-29 23:54:04 +02:00
ReneWerner87 dcc2d8d046 🤔 Why refreshing single page in Browser could lost html document via sendfile method? #516
- fix this issue
2020-06-29 23:31:41 +02:00
Humaid AlQassimi 10dbb5417e
ctx: do not use normalized path 2020-06-19 01:25:25 +04:00
kiyon a82da6bef7 Check index to avoid slice bounds out of range panic 2020-06-17 11:04:20 +08:00
Fenny f50c33debf Add Views test 2020-06-12 12:37:24 +02:00
Fenny fbea5211d0 goreportcard fix 2020-06-08 02:55:19 +02:00
Fenny fd6dc6f571 Add template engine test 2020-06-07 22:41:06 +02:00
Fenny fb2863ce9a Fix buffer reset 2020-06-07 22:34:29 +02:00
Fenny d48583619a Add Render test 2020-06-07 22:23:10 +02:00
Fenny d7dd49f01a Merge remote-tracking branch 'upstream/master' 2020-06-07 22:17:31 +02:00
Fenny b4244de892 Update test 2020-06-07 22:17:10 +02:00
fenny 748935aace
Merge pull request #451 from otaku/master
🩹 fix ctx.Render when using Go Templates
2020-06-07 22:16:48 +02:00
Alexander Do 6e22a75e91
fix ctx.Render when using Go Templates 2020-06-07 10:40:35 -07:00
wernerr ee3b44f9d1 repair some tests and add new tests for logger and server error handler 2020-06-07 14:43:25 +02:00
Fenny 6fd165e05a Update ctx_test.go 2020-06-06 21:19:53 +02:00
Fenny 0f890b6f9d 🔎 Add more test coverage 2020-06-06 07:27:01 +02:00
Fenny 8cfadbde29 Add io.Reader comments
Co-Authored-By: Roman Kredentser <shareed2k@gmail.com>
2020-06-01 15:00:42 +02:00
Fenny 69596c03b9 Add io.Reader support
Co-Authored-By: Roman Kredentser <shareed2k@gmail.com>
2020-06-01 14:53:45 +02:00
fenny f2c027e715 Small changes (#415)
* Update template examples

* Update fasthttp to v1.13.1

Co-Authored-By: Thomas van Vugt <thomasvvugt@users.noreply.github.com>

* Cookie SameSite defaults to Lax

Co-Authored-By: Thomas van Vugt <thomasvvugt@users.noreply.github.com>
Co-Authored-By: Queru <pascal@queru.net>

* Fix router bug

Co-Authored-By: RW <renewerner87@googlemail.com>

* Remove unused code

Co-Authored-By: RW <renewerner87@googlemail.com>

Co-authored-by: Thomas van Vugt <thomasvvugt@users.noreply.github.com>
Co-authored-by: Queru <pascal@queru.net>
Co-authored-by: RW <renewerner87@googlemail.com>
2020-05-27 10:22:01 +02:00
Fenny 2b2fe3edcf utils.AssertEqual
Co-Authored-By: RW <renewerner87@googlemail.com>
2020-05-23 09:26:52 +02:00
Fenny a6adc3a299 Add t.Parallel() to tests 2020-05-16 05:12:29 +02:00
Fenny e0b13d9ca4
Update test & benchmark (#374)
Co-Authored-By: RW <renewerner87@googlemail.com>

* Add nosec for WriteByte

* test persistens for benchmark results

* Add tests & benchmark

* Update app_test.go

* Update benchmark.yml
2020-05-13 20:21:49 +02:00
Fenny 16ac0e5ef1
Add benchmark charts 2020-05-13 00:54:24 +02:00
Fenny 47bd9f572d
Add benchmark charts (#366)
* Initial Commit

* Create data.js

* add Benchmark (go) benchmark result for 991344f032

* add Benchmark (go) benchmark result for a08dbd5c5b

Co-authored-by: github-action-benchmark <github@users.noreply.github.com>
2020-05-13 00:52:06 +02:00
Fenny e719fa00bf
Use param support + optimizations (#361)
* Benchmark workflow

* Update router.go

* Clean root

* Add mutex

* Benchmark workflow

* Benchmark workflow
* Add mutex
* Enable benchmark tests
* Enable race testing

Co-Authored-By: ReneWerner87 <renewerner87@users.noreply.github.com>

* Benchmark Workflow

* Benchmark workflow
* Add mutex
* Enable benchmark tests
* Enable race testing

Co-Authored-By: ReneWerner87 <renewerner87@users.noreply.github.com>

* Update security workflow

* Benchmark workflow
* Add mutex
* Enable benchmark tests
* Enable race testing

Co-Authored-By: ReneWerner87 <renewerner87@users.noreply.github.com>

* Make Ctx pool accessible

- Add ctx benchmarks

* v1.9.6

* v1.9.6

Co-Authored-By: ReneWerner87 <renewerner87@googlemail.com>

* Improve context functions

* Add utils benchmarks

* Update benchmarks & tests

* Add utils tests

* New tests

* update test

* Move fastpath tests

* offer negotiation

* Cleanup

* Update Vary

Co-Authored-By: RW <renewerner87@googlemail.com>

* Optimize Append

Co-Authored-By: RW <renewerner87@googlemail.com>

* Optimize more methods

Co-Authored-By: RW <renewerner87@googlemail.com>
Co-Authored-By: Vic Shóstak <vikkyshostak@gmail.com>

* Add param support to Use

Co-Authored-By: RW <renewerner87@googlemail.com>
Co-Authored-By: Vic Shóstak <vikkyshostak@gmail.com>

* Add use_params tests

Co-Authored-By: RW <renewerner87@googlemail.com>
Co-Authored-By: Vic Shóstak <vikkyshostak@gmail.com>

* v1.9.7

Co-Authored-By: RW <renewerner87@googlemail.com>
Co-Authored-By: Vic Shóstak <vikkyshostak@gmail.com>

* Tests

Co-Authored-By: RW <renewerner87@googlemail.com>
Co-Authored-By: Vic Shóstak <vikkyshostak@gmail.com>

* v1.9.7

Co-Authored-By: RW <renewerner87@googlemail.com>
Co-Authored-By: Vic Shóstak <vikkyshostak@gmail.com>
Co-Authored-By: József Sallai <jozsef@sallai.me>
Co-Authored-By: Thomas van Vugt <thomasvvugt@users.noreply.github.com>

* Update app_test.go

Co-Authored-By: RW <renewerner87@googlemail.com>
Co-Authored-By: Vic Shóstak <vikkyshostak@gmail.com>
Co-Authored-By: József Sallai <jozsef@sallai.me>
Co-Authored-By: Thomas van Vugt <thomasvvugt@users.noreply.github.com>
Co-Authored-By: Nifty255 <nifty255@users.noreply.github.com>

* Rename argument

Co-Authored-By: RW <renewerner87@googlemail.com>

* Add nosec for WriteByte

Co-Authored-By: RW <renewerner87@googlemail.com>

* Add media article

* Update media articles

* Fix typo

Co-Authored-By: Thomas van Vugt <thomasvvugt@users.noreply.github.com>

* Fix typo

Co-authored-by: ReneWerner87 <renewerner87@users.noreply.github.com>
Co-authored-by: ReneWerner87 <renewerner87@googlemail.com>
Co-authored-by: Vic Shóstak <vikkyshostak@gmail.com>
Co-authored-by: József Sallai <jozsef@sallai.me>
Co-authored-by: Thomas van Vugt <thomasvvugt@users.noreply.github.com>
Co-authored-by: Nifty255 <nifty255@users.noreply.github.com>
2020-05-12 19:24:04 +02:00
Fenny 6e58bfcde3
Make ctx pool accessible + ctx benchmarks (#355)
**🚀 Fiber `v1.9.6`**

The Ctx pool is now accessible for third-party packages

🔥 New
- `func AcquireCtx(fctx *fasthttp.RequestCtx) *Ctx`
- `func ReleaseCtx(ctx *Ctx)`

🩹 Fixes
- Some `Ctx` methods didn't work correctly when called without an `*App` pointer.
- `ctx.Vary` sometimes added duplicates to the response header

🧹 Updates
- Add context benchmarks
- Remove some unnecessary functions from `utils`

🧬 Middleware
- [gofiber/adaptor](https://github.com/gofiber/adaptor) `v0.0.1` Converter for net/http handlers to/from Fiber handlers
2020-05-11 04:30:31 +02:00
Fenny 5594ba5fdc Cleanup test files 2020-05-07 22:49:26 +02:00
Fenny 30870fc255 Remove t.Log from test 2020-05-07 20:59:52 +02:00
Fenny 9f5a22af35 🤖 v1.9.5 2020-05-07 20:15:27 +02:00
Fenny c34e9e03cd Merge branch 'master' of https://github.com/Fenny/fiber 2020-05-06 15:59:43 +02:00
Fenny 39d142ee09 New params parser 2020-05-06 15:59:40 +02:00
TianhongWu b36e09cc45
ctx_test: impl Test_Download (#337) 2020-05-04 15:03:40 +02:00
Fenny 0419d089e9
🧹 PR for 1.9.3 (#321)
* Add crowdin

* Update media links

* Update README_de.md

* Update README_de.md

* Update README_de.md

* Add crowdin link

* Print addr when listening

* Print addr on listening

* Add DisableStartupMessage

* Fix typo

* Update Test_BodyParser

* Support ETags

* v1.9.3
2020-04-28 21:34:34 +02:00
Fenny 1015ef530d Update Test_BodyParser 2020-04-28 14:20:24 +02:00
TianhongWu 029e3a9a56
Add Test_SaveFile (#318)
* ctx_test: impl Test_SaveFile

* fixup! ctx_test: impl Test_SaveFile
2020-04-28 14:05:39 +02:00
Fenny 4d14679a87
Add DisableStartupMessage (#314)
* Add crowdin

* Update media links

* Update README_de.md

* Update README_de.md

* Update README_de.md

* Add crowdin link

* Print addr when listening

* Print addr on listening

* Add DisableStartupMessage

* Fix typo
2020-04-27 23:34:35 +02:00
TianhongWu 7b59c5bf78
Add Test_FormFile (#315) 2020-04-27 23:32:38 +02:00
Fenny 4242901c92 v1.9.2 2020-04-23 00:33:36 +02:00
Fenny 673bd61fa1 BodyParser supports Query params 2020-04-13 09:01:27 +02:00
Fenny 8ad8d6eb23 Hi Ctx 2020-03-24 05:59:56 +01:00