fix the misplacement of adding slashes (#2847)
This commit is contained in:
		@ -481,6 +481,21 @@ func TestRouterNotFound(t *testing.T) {
 | 
			
		||||
	router.GET("/a", func(c *Context) {})
 | 
			
		||||
	w = performRequest(router, http.MethodGet, "/")
 | 
			
		||||
	assert.Equal(t, http.StatusNotFound, w.Code)
 | 
			
		||||
 | 
			
		||||
	// Reproduction test for the bug of issue #2843
 | 
			
		||||
	router = New()
 | 
			
		||||
	router.NoRoute(func(c *Context) {
 | 
			
		||||
		if c.Request.RequestURI == "/login" {
 | 
			
		||||
			c.String(200, "login")
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
	router.GET("/logout", func(c *Context) {
 | 
			
		||||
		c.String(200, "logout")
 | 
			
		||||
	})
 | 
			
		||||
	w = performRequest(router, http.MethodGet, "/login")
 | 
			
		||||
	assert.Equal(t, "login", w.Body.String())
 | 
			
		||||
	w = performRequest(router, http.MethodGet, "/logout")
 | 
			
		||||
	assert.Equal(t, "logout", w.Body.String())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestRouterStaticFSNotFound(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								tree.go
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								tree.go
									
									
									
									
									
								
							@ -634,7 +634,8 @@ walk: // Outer loop for walking the tree
 | 
			
		||||
		// Nothing found. We can recommend to redirect to the same URL with an
 | 
			
		||||
		// extra trailing slash if a leaf exists for that path
 | 
			
		||||
		value.tsr = path == "/" ||
 | 
			
		||||
			(len(prefix) == len(path)+1 && n.handlers != nil)
 | 
			
		||||
			(len(prefix) == len(path)+1 && prefix[len(path)] == '/' &&
 | 
			
		||||
				path == prefix[:len(prefix)-1] && n.handlers != nil)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user