mirror of
https://github.com/gin-gonic/gin.git
synced 2026-06-06 20:18:19 +08:00
Compare commits
2 Commits
04f2482ae0
...
f3fa56355f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f3fa56355f | ||
|
|
9477237d54 |
1
gin.go
1
gin.go
@ -811,6 +811,7 @@ func redirectFixedPath(c *Context, root *node, trailingSlash bool) bool {
|
|||||||
|
|
||||||
if fixedPath, ok := root.findCaseInsensitivePath(cleanPath(rPath), trailingSlash); ok {
|
if fixedPath, ok := root.findCaseInsensitivePath(cleanPath(rPath), trailingSlash); ok {
|
||||||
req.URL.Path = bytesconv.BytesToString(fixedPath)
|
req.URL.Path = bytesconv.BytesToString(fixedPath)
|
||||||
|
req.URL.RawPath = ""
|
||||||
redirectRequest(c)
|
redirectRequest(c)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
@ -273,6 +273,24 @@ func TestRouteRedirectFixedPath(t *testing.T) {
|
|||||||
assert.Equal(t, http.StatusTemporaryRedirect, w.Code)
|
assert.Equal(t, http.StatusTemporaryRedirect, w.Code)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRouteRedirectFixedPathWithRawPath(t *testing.T) {
|
||||||
|
router := New()
|
||||||
|
router.RedirectFixedPath = true
|
||||||
|
router.RedirectTrailingSlash = false
|
||||||
|
router.UseRawPath = true
|
||||||
|
router.UnescapePathValues = false
|
||||||
|
|
||||||
|
router.GET("/あ", func(c *Context) {})
|
||||||
|
|
||||||
|
w := PerformRequest(router, http.MethodGet, "/%e3%81%82")
|
||||||
|
assert.Equal(t, "/%E3%81%82", w.Header().Get("Location"))
|
||||||
|
assert.Equal(t, http.StatusMovedPermanently, w.Code)
|
||||||
|
|
||||||
|
w = PerformRequest(router, http.MethodGet, "/%E3%81%82")
|
||||||
|
assert.Empty(t, w.Header().Get("Location"))
|
||||||
|
assert.Equal(t, http.StatusOK, w.Code)
|
||||||
|
}
|
||||||
|
|
||||||
// TestContextParamsGet tests that a parameter can be parsed from the URL.
|
// TestContextParamsGet tests that a parameter can be parsed from the URL.
|
||||||
func TestRouteParamsByName(t *testing.T) {
|
func TestRouteParamsByName(t *testing.T) {
|
||||||
name := ""
|
name := ""
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user