1
0
mirror of https://github.com/labstack/echo.git synced 2026-05-16 09:48:24 +02:00

Fixes the uses of caret(^) in rewrite regex

This commit is contained in:
chotow
2020-06-17 12:44:24 +08:00
parent d3245067e0
commit 84da507a2e
2 changed files with 20 additions and 0 deletions
+16
View File
@@ -18,6 +18,10 @@ func TestRewrite(t *testing.T) {
"/api/*": "/$1",
"/js/*": "/public/javascripts/$1",
"/users/*/orders/*": "/user/$1/order/$2",
"/foo/*": "/v1/foo/$1",
"/v1/foo/*": "/v1/foo/$1",
"/v2/foo/*": "/v2/foo/$1",
"^/bar/*": "/foobar/$1",
},
}))
req := httptest.NewRequest(http.MethodGet, "/", nil)
@@ -37,6 +41,18 @@ func TestRewrite(t *testing.T) {
req.URL.Path = "/api/new users"
e.ServeHTTP(rec, req)
assert.Equal(t, "/new users", req.URL.Path)
req.URL.Path = "/foo/bar"
e.ServeHTTP(rec, req)
assert.Equal(t, "/v1/foo/bar", req.URL.Path)
req.URL.Path = "/v1/foo/bar"
e.ServeHTTP(rec, req)
assert.Equal(t, "/v1/foo/bar", req.URL.Path)
req.URL.Path = "/v2/foo/bar"
e.ServeHTTP(rec, req)
assert.Equal(t, "/v2/foo/bar", req.URL.Path)
req.URL.Path = "/bar/baz"
e.ServeHTTP(rec, req)
assert.Equal(t, "/foobar/baz", req.URL.Path)
}
// Issue #1086