From ca08ed93e67a99868f01d21f0d2e34d6a6757c75 Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Wed, 13 Nov 2019 20:55:11 +0300 Subject: [magi] --- examples/cookie.c | 55 ++++++++++++++++++++++++------------------------------- 1 file changed, 24 insertions(+), 31 deletions(-) (limited to 'examples/cookie.c') diff --git a/examples/cookie.c b/examples/cookie.c index 5ef56ac..6ba5bd0 100644 --- a/examples/cookie.c +++ b/examples/cookie.c @@ -5,45 +5,38 @@ #include -void print_preamble() +void response_request(struct magi_request * req, struct magi_response * res) { - puts("Set-Cookie:cookie=monstre\r\n" /* Important to set cookies before: */ - "Content-Type: application/xhtml+xml\r\n\r\n"); -} + struct magi_cookie_list * cookie; -void print_webpage_top() -{ - puts("" - "" - "Cookie Listing and Setting" - ""); -} + magi_response_content_type(res, magi_xhtml); + magi_response_content(res, + "" + "" + "Cookie Listing and Setting" + ""); -void read_and_print_cookies() -{ - struct magi_request request; - if (magi_cgi(&request, 0, 0)) { - struct magi_cookie_list * cookie; - for (cookie = request.cookies; cookie; cookie = cookie->next) { - printf("[%s] = [%s]
", cookie->item.name, cookie->item.data); - } - magi_request_destroy(&request); + for (cookie = req->cookies; cookie; cookie = cookie->next) { + printf("[%s] = [%s]
", cookie->item.name, cookie->item.data); } -} -void print_webpage_bottom() -{ - puts("" - ""); + magi_response_content(res, ""); + + magi_response_cookie_build(res, "cookie", "monstre", 0, 0, 0); } int main(int argc, char const * argv[]) { - print_preamble(); - /* Following probably will be much more pleasant with use of templates. */ - print_webpage_top(); - read_and_print_cookies(); - print_webpage_bottom(); + struct magi_request request; + if (magi_cgi(&request, 0, 0)) { + struct magi_response response; + response_request(&request, &response); + magi_cgi_response(&response); + magi_response_destroy(); + } else { + magi_cgi_error(request.error); + } + magi_request_destroy(&request); return 0; } -- cgit v1.2.3