Skip to content

Commit

Permalink
Fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Smaug6739 committed Mar 8, 2022
1 parent 174dc2b commit 0bffcf8
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
6 changes: 5 additions & 1 deletion router.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func New() Router {
}

/**
* Resolve routes
* Resolve routes when a request is received
* @param {Router} Router - The router
* @param {http.Request} req - The request
* @return {Route} - The route
Expand All @@ -55,7 +55,11 @@ func resolveRoute(ro Router, r *http.Request) (Route, bool) {
func resolveParams(route *Route, req *http.Request, result *Result) {
params := route.PathRegex.FindStringSubmatch(req.URL.Path)
params = params[1:]
var paramsNumber = len(route.ParamsNames)
for i, param := range params {
if i > (paramsNumber-1) {
break
}
result.Params[route.ParamsNames[i]] = param
}
}
Expand Down
17 changes: 10 additions & 7 deletions router_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,26 @@ func TestRouter(t *testing.T){
var router = New()
http.Handle("/", router)

router.Get("/test", func(w http.ResponseWriter, r *http.Request, result *Result){
w.Write([]byte("Get 0 "))
})
router.Get("/test/{id}", func(w http.ResponseWriter, r *http.Request, result *Result){
w.Write([]byte("Get : Test ID : " + result.Params["id"]))
w.Write([]byte("Get 1: " + result.Params["id"]))
})
router.Get("/test/{id}/m", func(w http.ResponseWriter, r *http.Request, result *Result){
w.Write([]byte("Get 2: Test ID : " + result.Params["id"]))
router.Get("/test/{id}/test", func(w http.ResponseWriter, r *http.Request, result *Result){
w.Write([]byte("Get 2: " + result.Params["id"]))
})
router.Post("/test", func(w http.ResponseWriter, r *http.Request, result *Result){
w.Write([]byte("Post : Test"))
w.Write([]byte("Post: Test"))
})
router.Patch("/test", func(w http.ResponseWriter, r *http.Request, result *Result){
w.Write([]byte("Patch : Test"))
w.Write([]byte("Patch: Test"))
})
router.Put("/test", func(w http.ResponseWriter, r *http.Request, result *Result){
w.Write([]byte("Put : Test"))
w.Write([]byte("Put: Test"))
})
router.Delete("/test", func(w http.ResponseWriter, r *http.Request, result *Result){
w.Write([]byte("Delete : Test"))
w.Write([]byte("Delete: Test"))
})
http.ListenAndServe(":"+PORT, nil)
}

0 comments on commit 0bffcf8

Please sign in to comment.