1
0
mirror of https://github.com/gofiber/fiber.git synced 2025-02-22 17:04:26 +00:00

Merge pull request #629 from kiyonlin/reset-ctx-matched

🔔 fix ctx matched bug
This commit is contained in:
fenny 2020-07-17 19:27:10 +02:00 committed by GitHub
commit 531e50e2c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View File

@ -40,7 +40,12 @@ func Test_App_MethodNotAllowed(t *testing.T) {
app.Options("/", func(c *Ctx) {})
resp, err := app.Test(httptest.NewRequest("GET", "/", nil))
resp, err := app.Test(httptest.NewRequest("POST", "/", nil))
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, 200, resp.StatusCode)
utils.AssertEqual(t, "", resp.Header.Get(HeaderAllow))
resp, err = app.Test(httptest.NewRequest("GET", "/", nil))
utils.AssertEqual(t, nil, err)
utils.AssertEqual(t, 405, resp.StatusCode)
utils.AssertEqual(t, "POST, OPTIONS", resp.Header.Get(HeaderAllow))

2
ctx.go
View File

@ -87,6 +87,8 @@ func (app *App) AcquireCtx(fctx *fasthttp.RequestCtx) *Ctx {
// Reset route and handler index
ctx.indexRoute = -1
ctx.indexHandler = 0
// Reset matched flag
ctx.matched = false
// Set paths
ctx.path = getString(fctx.URI().PathOriginal())
ctx.pathOriginal = ctx.path