From 936a756ca16272d02494f9f7077ffa51749760a3 Mon Sep 17 00:00:00 2001 From: ipknHama Date: Tue, 1 Apr 2014 22:58:52 +0900 Subject: multiple routing (still no argument) --- flask.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'flask.h') diff --git a/flask.h b/flask.h index ca78da3..f61da16 100644 --- a/flask.h +++ b/flask.h @@ -20,17 +20,22 @@ namespace flask { } - response handle() + response handle(const request& req) { - return yameHandler_(); + if (yameHandlers_.count(req.url) == 0) + { + return response(404); + } + return yameHandlers_[req.url](); } template void route(const std::string& url, F f) { - yameHandler_ = [f]{ + auto yameHandler = [f]{ return response(f()); }; + yameHandlers_.emplace(url, yameHandler); } Flask& port(std::uint16_t port) @@ -48,7 +53,7 @@ namespace flask uint16_t port_ = 80; // Someday I will become real handler! - std::function yameHandler_; + std::unordered_map> yameHandlers_; }; }; -- cgit v1.2.3-54-g00ecf