Middleware
Any middleware requires following 3 members:
struct context
Storing data for the middleware; can be read from another middleware or handlers
before_handle
Called before handling the request.
If res.end()
is called, the operation is halted. (after_handle
will still be called)
2 signatures:
void before_handle(request& req, response& res, context& ctx)
if you only need to access this middleware's context.
template <typename AllContext>
void before_handle(request& req, response& res, context& ctx, AllContext& all_ctx)
all_ctx.template get<MW>()
ctx == all_ctx.template get<CurrentMiddleware>()
after_handle
Called after handling the request.
void after_handle(request& req, response& res, context& ctx)
template <typename AllContext>
void after_handle(request& req, response& res, context& ctx, AllContext& all_ctx)
This was pulled from
cookie_parser.h
. Further Editing required, possibly use parts of @ipkn's wiki page.