From a20443c285dabdec8d2ee740500c62e31ad90c7b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 23 Apr 2015 12:43:52 +0200 Subject: Implement apache service --- brep/search.cxx | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to 'brep/search.cxx') diff --git a/brep/search.cxx b/brep/search.cxx index 683016c..93690e4 100644 --- a/brep/search.cxx +++ b/brep/search.cxx @@ -5,6 +5,10 @@ #include #include +#include +#include + +#include using namespace std; @@ -15,26 +19,39 @@ namespace brep { MODULE_DIAG; + chrono::seconds ma (60); + rs.cookie ("Oh", " Ah\n\n", &ma, "/"); + rs.cookie ("Hm", ";Yes", &ma); + + info << "handling search request from "; // << rq.client_ip (); + + ostream& o (rs.content (200, "text/html;charset=utf-8", false)); + + o << "Params:"; + const name_values& ps (rq.parameters ()); if (ps.empty ()) - throw invalid_request ("search parameters expected"); + throw invalid_request (422, "search parameters expected"); if (ps.size () > 100) fail << "too many parameters: " << ps.size () << info << "are you crazy to specify so many?"; - info << "handling search request from "; // << rq.client_ip (); - level2 ([&]{trace << "search request with " << ps.size () << " params";}); - ostream& o (rs.content (202, "text/html;charset=utf-8")); + for (const auto& p: ps) + { + o << "
\n" << p.name << "=" << p.value; + } - o << "Search page:" << endl; + o << "
\nCookies:"; - for (const name_value& p: ps) + for (const auto& c : rq.cookies ()) { - o << p.name << "=" << p.value << endl; + o << "
\n" << c.name << "=" << c.value << " "; } + + o << ""; } } -- cgit v1.1