|
// retoor <retoor@molodetz.nl>
|
|
|
|
import "web" for Router
|
|
|
|
var router = Router.new()
|
|
|
|
router.get("/api/v1/*", Fn.new { |r| "wildcard" })
|
|
router.put("/users/:id", Fn.new { |r| "put user" })
|
|
router.delete("/users/:id", Fn.new { |r| "delete user" })
|
|
router.patch("/users/:id", Fn.new { |r| "patch user" })
|
|
router.post("/users", Fn.new { |r| "create user" })
|
|
|
|
var m1 = router.match("GET", "/api/v1/anything")
|
|
System.print(m1 != null) // expect: true
|
|
|
|
var m2 = router.match("GET", "/api/v1/nested/path")
|
|
System.print(m2 != null) // expect: true
|
|
|
|
var m3 = router.match("PUT", "/users/456")
|
|
System.print(m3 != null) // expect: true
|
|
System.print(m3["params"]["id"]) // expect: 456
|
|
|
|
var m4 = router.match("DELETE", "/users/789")
|
|
System.print(m4 != null) // expect: true
|
|
System.print(m4["params"]["id"]) // expect: 789
|
|
|
|
var m5 = router.match("PATCH", "/users/101")
|
|
System.print(m5 != null) // expect: true
|
|
|
|
var m6 = router.match("POST", "/users")
|
|
System.print(m6 != null) // expect: true
|
|
|
|
var m7 = router.match("OPTIONS", "/users")
|
|
System.print(m7 == null) // expect: true
|
|
|
|
var router2 = Router.new()
|
|
router2.get("/posts/:postId/comments/:commentId", Fn.new { |r| "comment" })
|
|
|
|
var m8 = router2.match("GET", "/posts/10/comments/20")
|
|
System.print(m8 != null) // expect: true
|
|
System.print(m8["params"]["postId"]) // expect: 10
|
|
System.print(m8["params"]["commentId"]) // expect: 20
|