From 220ada8c7e0acfee5367f88932cdd3f1d3305175 Mon Sep 17 00:00:00 2001 From: Meutel Date: Thu, 29 Dec 2016 19:33:51 +0100 Subject: [PATCH] Param in path --- main.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index 35c5b97..e9cbe3f 100644 --- a/main.c +++ b/main.c @@ -90,14 +90,23 @@ static void sendbooks(struct kreq *r) { struct kjsonreq req; + const char *errid; + int64_t id = -1; http_open(r, KHTTP_200); kjson_open(&req, r); kjson_obj_open(&req); kjson_putstringp(&req, "data", "books"); - if (NULL != r->fieldmap[KEY_ID]) { - kjson_putintp(&req, "id", r->fieldmap[KEY_ID]->parsed.i); - } + if (NULL != r->fieldmap[KEY_ID]) + id = r->fieldmap[KEY_ID]->parsed.i; + if (r->path[0] != '\0') + id = strtonum(r->path, INT64_MIN, INT64_MAX, &errid); + if (id > 0) + kjson_putintp(&req, "id", id); + + kjson_putstringp(&req, "_path", r->path); + kjson_putstringp(&req, "_pname", r->pname); + kjson_putstringp(&req, "_pagename", r->pagename); kjson_obj_close(&req); kjson_close(&req); }