Unclear behaviour of `*` in routes
Maintainer antworten meist innerhalb von 1 Tag
@aldas arbeitet bereits daran.
Seit 06.4.2024.
Bewertung
Dieses Issue wurde noch nicht bewertet.
Beschreibung
Issue Description
Checklist
- Dependencies installed
- No typos
- Searched existing issues and docs
Expected behaviour
- If I have static text in a route that static text is guaranteed to show up in
c.Path()orc.Request().RequestURI - Multiple instances of
*in routes play nicely with each other
Actual behaviour
- If I have static text in a route, another route with
*may "absorb it" - Multiple instances of
*in routes do NOT seem to play nicely with each other
Steps to reproduce
Trying to build router for: https://github.com/opencontainers/distribution-spec/blob/main/spec.md
handler := func (c echo.Context) err {
fmt.Printf("%s\n", c.Path())
}
e := echo.New()
v2 := e.Group("/v2")
v2.DELETE("/*/blobs/:digest", handler)
v2.GET("/*/blobs/:digest", handler)
v2.HEAD("/*/blobs/:digest", handler)
v2.DELETE("/*/manifests/:ref", handler)
v2.GET("/*/manifests/:ref", handler)
v2.HEAD("/*/manifests/:ref", handler)
v2.PUT("/*/manifests/:ref", handler)
v2.GET("/*/tags/list", handler)
v2.GET("/*/blobs/uploads/:ref", handler)
v2.PATCH("/*/blobs/uploads/:ref", handler)
v2.POST("/*/blobs/uploads", handler)
v2.PUT("/*/blobs/uploads/:ref", handler)
v2.GET("", handler)
Run:
curl -ik https://localhost:8080/v2/foo/bar/baz/tags/list
# /v2/*/blobs/uploads/:ref
Result outputs /v2/*/blobs/uploads/:ref when it should output /v2/*/tags/list.
Version/commit
v4.11.4
- Vorherrschende Sprache
- Go
- Sterne
- 32.8k
- Forks
- 4.2k
- Ø Merge
- 8 Std. 54 Min.
- Gemergte PRs (30 T.)
- 32
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus labstack/echo
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
Maintainer antworten meist innerhalb von 1 Tag
-
Group routes does not work without leading slashEvtl. vergeben @team-humaki hat das vor 21 Tagen übernommen. Offenenhancement router v5
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
labstack/echo#3099 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement v5
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
labstack/echo#3066 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Rate limit middleware doesn't set headers or provide metadata via interface.Evtl. vergeben @AdamMagued hat das vor 2 Tagen übernommen. Offenenhancement middleware
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
labstack/echo#2961 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement router
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 42/100
labstack/echo#2895 · 16 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 75/100
slavakurilyak/awesome-ai-agents#742 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug go
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
genkit-ai/genkit#6761 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 87/100
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
github/github-mcp-server#3475 ·
Maintainer antworten meist innerhalb von 4 Tagen