mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 03:29:40 +00:00 
			
		
		
		
	Instead of using routerCtx just escape the url before routing (#18086)
A consequence of forcibly setting the RoutePath to the escaped url is that the auto routing to endpoints without terminal slashes fails (Causing #18060.) This failure raises the possibility that forcibly setting the RoutePath causes other unexpected behaviors too. Therefore, instead we should simply pre-escape the URL in the process registering handler. Then the request URL will be properly escaped for all the following calls. Fix #17938 Fix #18060 Replace #18062 Replace #17997 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		| @@ -33,6 +33,7 @@ func TestLinksNoLogin(t *testing.T) { | ||||
| 		"/user/forgot_password", | ||||
| 		"/api/swagger", | ||||
| 		"/user2/repo1", | ||||
| 		"/user2/repo1/", | ||||
| 		"/user2/repo1/projects", | ||||
| 		"/user2/repo1/projects/1", | ||||
| 		"/assets/img/404.png", | ||||
| @@ -61,16 +62,6 @@ func TestRedirectsNoLogin(t *testing.T) { | ||||
| 		resp := MakeRequest(t, req, http.StatusFound) | ||||
| 		assert.EqualValues(t, path.Join(setting.AppSubURL, redirectLink), test.RedirectURL(resp)) | ||||
| 	} | ||||
|  | ||||
| 	var temporaryRedirects = map[string]string{ | ||||
| 		"/user2/repo1/": "/user2/repo1", | ||||
| 	} | ||||
| 	for link, redirectLink := range temporaryRedirects { | ||||
| 		req := NewRequest(t, "GET", link) | ||||
| 		resp := MakeRequest(t, req, http.StatusTemporaryRedirect) | ||||
| 		assert.EqualValues(t, path.Join(setting.AppSubURL, redirectLink), test.RedirectURL(resp)) | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| func TestNoLoginNotExist(t *testing.T) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user