mirror of
https://github.com/CrowCpp/Crow.git
synced 2024-06-07 21:10:44 +00:00
23648445f3
Added mkdocs documentation. Altered doxygen generation (doxyfile and shell script) to work with mkdocs. Removed the whole html folder thing for docs, now the files reside in the root gh-pages branch. New readme.
29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
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.<br>
|
|
If `res.end()` is called, the operation is halted. (`after_handle` will still be called)<br>
|
|
2 signatures:<br>
|
|
`#!cpp void before_handle(request& req, response& res, context& ctx)`
|
|
if you only need to access this middleware's context.
|
|
``` cpp
|
|
template <typename AllContext>
|
|
void before_handle(request& req, response& res, context& ctx, AllContext& all_ctx)
|
|
```
|
|
You can access other middlewares' context by calling `#!cpp all_ctx.template get<MW>()`<br>
|
|
`#!cpp ctx == all_ctx.template get<CurrentMiddleware>()`
|
|
|
|
|
|
##after_handle
|
|
Called after handling the request.<br>
|
|
|
|
`#!cpp void after_handle(request& req, response& res, context& ctx)`
|
|
``` cpp
|
|
template <typename AllContext>
|
|
void after_handle(request& req, response& res, context& ctx, AllContext& all_ctx)
|
|
```
|
|
<br><br>
|
|
This was pulled from `cookie_parser.h`. Further Editing required, possibly use parts of [@ipkn's wiki page](https://github.com/ipkn/crow/wiki/Middleware). |