Commit Graph

126 Commits (1188144d784fb42ec92e2aa4cabb2be4fc4d429f)

Author SHA1 Message Date
Muhammed Efe Çetin 1188144d78
🎉 v3: init 2022-05-31 17:35:49 +03:00
RW a8f9d4acfb
🐛 Sub fiber's error handlers not working #1839 (#1848)
fix root level bug
2022-04-05 08:40:22 +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
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
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
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
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
M. Efe Çetin d3c2122086
Fix route naming when to use group in group. (#1736) 2022-01-29 15:26:01 +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 559f59f198
Add Route() method like Chi router. (#1713) 2022-01-24 16:37:28 +01:00
vecpeng 5fe95c2579
feat: add function NewErrors to create multiple new errors (#1701) 2022-01-10 14:22:34 +01:00
vecpeng f98a9ba405
feature: print all routes message when server starts (#1677)
* feature: print all routes message when server starts

* feature: print all routes message when server starts

* feature:  print all routes message when server starts

* 🐛fix: errors unhandled

* 🐛fix: ignore child process and add some "-" to the table head

* 🐛fix: add printRoutesMessage for listener and listenTLS
2021-12-30 14:13:31 +01:00
vecpeng ef3a689600
🐛fix: rename handlerCount to handlersCount (#1674) 2021-12-29 10:26:50 +01:00
M. Efe Çetin fbee8fb274
Add method the get registered handler count. (#1672) 2021-12-29 07:23:14 +01:00
ichx 637f0c1bba
Fix: error handler of app and its sub apps not saved when mounted in group (#1649) 2021-12-28 14:05:35 +01:00
M. Efe Çetin 68d3b773bc
Add route naming feature. (#1650)
* Add route naming feature.

* Update basicauth_test.go

* Fix gosec issues.

* Change RoutaName -> Name

* Fix race conditions.

* Update READMEs.
2021-12-28 14:04:04 +01:00
Gusted 7b7dcf29f7
♻️ Tidy up the codebase (#1613)
* run gofmt

* add t.Helper()

* Simplify assigns

* Simplify make operation

* Remove unused field in struct

* Fix typo

* Run gofumpt ./

* Consistent spacing

* len(...) can never be negative

* Use ReplaceAll

* Simplify operation

* Remove deadcode

* Fix typo

* Tidy up `} else { if ...`

* Fix AssertEqual

* Remove t.Helper() to fix go1.14.15
2021-11-05 08:00:03 +01:00
Jose Garcia 587f3ae9df
Support for sub fiber's error handlers (#1560)
- Mounted fiber and its sub apps error handlers are now saved a new
  errorHandlers map in App
- New public App.ErrorHandler method that wraps the logic for which
  error handler to user on any given context
- Error handler match logic based on request path <=> prefix accuracy
- Typo fixes
- Tests
2021-10-05 14:03:20 +02:00
Fufu 2c6ffb7972
Fix: register static file routing with trailing slash (#1556) 2021-10-05 10:55:11 +02:00
Fufu b94870d886
Fix: static file routing path rewrite. (#1538)
* Fix: static file routing path rewrite.

* Add: static file routing test cases.

* Update: change os.CreateTemp to ioutil.TempFile for go1.14

* Update: optimize test cases.
2021-10-01 12:51:48 +02:00
RW a0b1f38d3e
Improve startup message tests (#1504)
* improve startup message tests
2021-08-22 10:58:16 +02:00
RW 4b62cfbb61
Add test run for go1.17 (#1501)
* Add test run for go1.17

default type for yaml is changed to „application/x-yaml"
-> instead of the yaml´s we use the html and json files for the test
2021-08-22 09:48:07 +02:00
Sujit Baniya 8ab5c657c6
🔥 FEATURE: Allow adding App Name to customizing the startup message (#1418)
* 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

Co-authored-by: RW <rene@gofiber.io>
2021-07-16 08:44:11 +02:00
Troy 08b2b71197
Add support for streaming the request body. (#1423)
* update fasthttp

* allow req body streaming

* multipart form streaming

* update fasthttp

* allow req body streaming

* multipart form streaming

* Testing
2021-07-11 11:45:46 +02:00
wernerr d7ca1efd13 fix error after deleting the stale yaml 2021-05-28 09:40:48 +02:00
kiyon 22848f7e31
👷 Add testcases for ListenTLS (#1320) 2021-05-07 09:24:48 +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
Diego Sandrim 24f55ef580 Adds a test to detect data race in .New and .Test funcs 2021-05-05 16:43:07 -03:00
bestgopher 056c6808af
Use atomic instead of mutex when counting the route handler. (#1314)
* use atomic instead of mutex when counting

* 📒 router: fix typo error
2021-05-05 17:53:54 +02:00
Dario Leittersdorf a28afaae75
🩹Fix: Startup message doesn't show correct amount of Handlers after mounting (#1302)
* fix: pass handlerCount when mounting to an App

* test: check for correct handlerCount after mounting an instance

* fix: pass handlerCount when mounting to a Group

* test: check for correct handlerCount after mounting to a Group

Co-authored-by: dleitter <dario.leittersdorf@bonprix.net>
2021-05-04 09:21:04 +02:00
Kiyon b46185e1b0 👷 Fix hardcode tls to startupMessage in app.Listener 2021-02-23 16:40:17 +08:00
Kiyon 00dbdd5fb3 👷 Add network type constant 2021-02-08 11:35:17 +08:00
Martin Lukasik 0b88c808e5 add test case for App_Static_Next 2021-01-23 08:31:45 +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
ReneWerner87 b51def0bb8 🐛 UnescapePath not working #1102
Co-authored-by: Fenny <fenny@gofiber.io>
2021-01-06 13:21:54 +01:00
Kiyon 7c88fa41e0 👷 Add test cases for group router empty prefix path 2020-12-28 13:13:24 +08:00
Fenny 0d2eb334d6 🧪 update test cmd 2020-11-14 03:31:46 +01:00
jonanOribe 4fc45599d2 Update app_test.go 2020-11-10 18:22:02 +01:00
jonanOribe d27b4cfa1e Update app_test.go 2020-11-10 18:10:11 +01:00
kiyon d0e828dbf5 🍀 Improve test coverage 2020-10-24 16:24:48 +08:00
Roman 3e6dfb313b 🔥set a `Cache Control` header for static ressources
Right now, each static request returns the file without any cache control
header. If you are using `app.Static` to serve your assets, the
browser shouldn't cache it. This PR introduces a way to set the cache
control header (if the file was found) on the file response to set a
custom max-age to e.g. cache it 1 year.
2020-10-07 15:44:38 +02:00
Roman acb6bbea2b ♻️ refactor app test to use the constants to access the http methods and headers 2020-10-07 11:07:12 +02:00
David Mazary 618b753230 🚨 Fix gosimple lint warnings 2020-10-03 13:20:54 -04:00
Fenny b4bec8df6c
Merge pull request #877 from kiyonlin/fix-app-group
👷 fix group.Mount
2020-10-03 18:47:56 +02:00
kiyon 839c8f1447 👷 fix group.Mount 2020-10-04 00:36:11 +08:00
kiyon 407cdfaf7a 👷 add app test case to improve coverage 2020-10-04 00:05:28 +08:00
Fenny 3b5997a3df 🔨 fix mount tree build
Co-Authored-By: RW <7063188+ReneWerner87@users.noreply.github.com>
2020-09-26 13:46:14 +02:00
Fenny 2b72fd2162 🩹 ignore trailing slash with static directories 2020-09-20 21:48:45 +02:00
ReneWerner87 c822a17c72 ☠️ Improve error handling flow
Co-authored-by: Fenny <fenny@gofiber.io>
Co-authored-by: Kiyon <kiyon@gofiber.io>
2020-09-18 20:44:00 +02:00