Skip to content

Commit

Permalink
Fixes performance regression
Browse files Browse the repository at this point in the history
  • Loading branch information
manucorporat committed Jun 3, 2015
1 parent 21979d6 commit 0b043d0
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
3 changes: 2 additions & 1 deletion gin.go
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ func (engine *Engine) addRoute(method, path string, handlers HandlersChain) {
panic("there must be at least one handler")
}

root := engine.trees.get("method")
root := engine.trees.get(method)
if root == nil {
root = new(node)
engine.trees = append(engine.trees, methodTree{
Expand Down Expand Up @@ -247,6 +247,7 @@ func (engine *Engine) handleHTTPRequest(context *Context) {
return
}
}
break
}
}

Expand Down
20 changes: 20 additions & 0 deletions routes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,26 @@ func testRouteNotOK2(method string, t *testing.T) {
assert.Equal(t, w.Code, http.StatusMethodNotAllowed)
}

func TestRouterMethod(t *testing.T) {
router := New()
router.PUT("/hey2", func(c *Context) {
c.String(200, "sup2")
})

router.PUT("/hey", func(c *Context) {
c.String(200, "called")
})

router.PUT("/hey3", func(c *Context) {
c.String(200, "sup3")
})

w := performRequest(router, "PUT", "/hey")

assert.Equal(t, w.Code, 200)
assert.Equal(t, w.Body.String(), "called")
}

func TestRouterGroupRouteOK(t *testing.T) {
testRouteOK("GET", t)
testRouteOK("POST", t)
Expand Down

0 comments on commit 0b043d0

Please sign in to comment.