feat(routing): implement router nesting

This commit is contained in:
Jef Roosens 2024-03-02 11:26:51 +01:00
parent 2ce49a3347
commit cf4451740f
Signed by: Jef Roosens
GPG key ID: B75D4F293C7052DB
2 changed files with 12 additions and 63 deletions

View file

@ -80,18 +80,17 @@ void test_routing_merge() {
}
void test_routing_nest() {
lnm_http_router *r1;
lnm_http_router *r1, *r2;
lnm_http_route_match match;
TEST_CHECK(lnm_http_router_init(&r1) == lnm_err_ok);
TEST_CHECK(lnm_http_router_init(&r2) == lnm_err_ok);
TEST_CHECK(lnm_http_router_add(NULL, r1, lnm_http_method_get, "/*key") == lnm_err_ok);
lnm_http_router *r2;
TEST_CHECK(lnm_http_router_init(&r2) == lnm_err_ok);
TEST_CHECK(lnm_http_router_add(NULL, r2, lnm_http_method_get, "/test/test2") == lnm_err_ok);
TEST_CHECK(lnm_http_router_nest(r2, r1, "/test") == lnm_err_ok);
lnm_http_route_match match;
TEST_CHECK(lnm_http_router_route(&match, r2, lnm_http_method_get, "/test/test_var/secondvar") == lnm_http_route_err_match);
TEST_CHECK(match.key_segments[0].start == 6);
TEST_CHECK(match.key_segments[0].len == 18);
@ -104,6 +103,6 @@ TEST_LIST = {
{ "routing simple", test_routing_simple },
{ "routing star", test_routing_star },
{ "routing merge", test_routing_merge },
/* { "routing nest", test_routing_nest }, */
{ "routing nest", test_routing_nest },
{ NULL, NULL }
};