From c89cafa820ec02f041c3b0e52877bc321f6a1ba9 Mon Sep 17 00:00:00 2001 From: ipknHama Date: Sun, 7 Sep 2014 01:24:45 +0900 Subject: add Middlewares template to Crow main class, context implementation --- include/middleware.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 include/middleware.h (limited to 'include/middleware.h') diff --git a/include/middleware.h b/include/middleware.h new file mode 100644 index 0000000..270e026 --- /dev/null +++ b/include/middleware.h @@ -0,0 +1,50 @@ +#pragma once +#include "http_request.h" +#include "http_response.h" + +namespace crow +{ + class CookieParser + { + struct context + { + std::unordered_map jar; + }; + + template + void before_handle(request& req, response& res, context& ctx, AllContext& all_ctx) + { + // ctx == all_ctx.bind() + // ctx.jar[] = ; + } + + template + void after_handle(request& req, response& res, context& ctx, AllContext& all_ctx) + { + } + } + + /* + App app; + A B C + A::context + int aa; + + ctx1 : public A::context + ctx2 : public ctx1, public B::context + ctx3 : public ctx2, public C::context + + C depends on A + + C::handle + context.aaa + + App::context : private CookieParser::contetx, ... + { + jar + + } + + SimpleApp + */ +} -- cgit v1.2.3-54-g00ecf