| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- //
- // sample.cc
- //
- // Copyright (c) 2012 Yuji Hirose. All rights reserved.
- // The Boost Software License 1.0
- //
- #include <httpsvrkit.h>
- #include <cstdio>
- using namespace httpsvrkit;
- int dump_request(Context& cxt)
- {
- auto& body = cxt.response.body;
- char buf[BUFSIZ];
- body += "================================\n";
- sprintf(buf, "Method: %s, URL: %s\n",
- cxt.request.method.c_str(),
- cxt.request.url.c_str());
- body += buf;
- //for (const auto& x : cxt.request.headers) {
- for (auto it = cxt.request.headers.begin(); it != cxt.request.headers.end(); ++it) {
- const auto& x = *it;
- sprintf(buf, "%s: %s\n", x.first.c_str(), x.second.c_str());
- body += buf;
- }
- body += "================================\n";
- return 200;
- }
- int main(void)
- {
- Server svr;
- svr.get("/", [](Context& cxt) -> int {
- dump_request(cxt);
- return 200;
- });
- svr.post("/item", [](Context& cxt) -> int {
- dump_request(cxt);
- cxt.response.body += cxt.request.url;
- return 200;
- });
- svr.get("/item/([^/]+)", [](Context& cxt) -> int {
- dump_request(cxt);
- cxt.response.body += cxt.request.params[0];
- return 200;
- });
- svr.run("localhost", 1234);
- }
- // vim: et ts=4 sw=4 cin cino={1s ff=unix
|