mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08: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:
		@@ -610,9 +610,6 @@ func Contexter() func(next http.Handler) http.Handler {
 | 
			
		||||
			var startTime = time.Now()
 | 
			
		||||
			var link = setting.AppSubURL + strings.TrimSuffix(req.URL.EscapedPath(), "/")
 | 
			
		||||
 | 
			
		||||
			chiCtx := chi.RouteContext(req.Context())
 | 
			
		||||
			chiCtx.RoutePath = req.URL.EscapedPath()
 | 
			
		||||
 | 
			
		||||
			var ctx = Context{
 | 
			
		||||
				Resp:    NewResponse(resp),
 | 
			
		||||
				Cache:   mc.GetCache(),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user