mirror of
https://github.com/gin-gonic/gin.git
synced 2025-10-14 04:08:15 +08:00
fix: wildcard node should be the last child.
This commit is contained in:
parent
c3d1092b3b
commit
deb81c1d09
2
tree.go
2
tree.go
@ -833,7 +833,7 @@ walk: // Outer loop for walking the tree
|
||||
return nil
|
||||
}
|
||||
|
||||
n = n.children[0]
|
||||
n = n.children[len(n.children)-1]
|
||||
switch n.nType {
|
||||
case param:
|
||||
// Find param end (either '/' or path end)
|
||||
|
@ -751,6 +751,8 @@ func TestTreeFindCaseInsensitivePath(t *testing.T) {
|
||||
"/w/𠜎", // 4 byte
|
||||
"/w/𠜏/", // 4 byte
|
||||
longPath,
|
||||
"/param/same/:id",
|
||||
"/param/same/1",
|
||||
}
|
||||
|
||||
for _, route := range routes {
|
||||
@ -844,6 +846,7 @@ func TestTreeFindCaseInsensitivePath(t *testing.T) {
|
||||
{"/w/𠜎/", "/w/𠜎", true, true},
|
||||
{"/w/𠜏", "/w/𠜏/", true, true},
|
||||
{lOngPath, longPath, true, true},
|
||||
{"/param/same/prefix/noexist", "", false, false},
|
||||
}
|
||||
// With fixTrailingSlash = true
|
||||
for _, test := range tests {
|
||||
|
Loading…
x
Reference in New Issue
Block a user