mirror of
https://github.com/CrowCpp/Crow.git
synced 2024-06-07 21:10:44 +00:00
Unify docs page for additional middleware
This commit is contained in:
parent
337aff4726
commit
078227a40d
@ -1,7 +0,0 @@
|
|||||||
Crow Allows a developer to set CORS policies by using the `CORSHandler` middleware.<br><br>
|
|
||||||
|
|
||||||
This middleware can be added to the app simply by defining a `#!cpp crow::App<crow::CORSHandler>`. This will use the default CORS rules globally<br><br>
|
|
||||||
|
|
||||||
The CORS rules can be modified by first getting the middleware via `#!cpp auto& cors = app.get_middleware<crow::CORSHandler>();`. The rules can be set per URL prefix using `prefix()`, per blueprint using `blueprint()`, or globally via `global()`. These will return a `CORSRules` object which contains the actual rules for the prefix, blueprint, or application. For more details go [here](../../reference/structcrow_1_1_c_o_r_s_handler.html).
|
|
||||||
|
|
||||||
`CORSRules` can be modified using the methods `origin()`, `methods()`, `headers()`, `max_age()`, `allow_credentials()`, or `ignore()`. For more details on these methods and what default values they take go [here](../../reference/structcrow_1_1_c_o_r_s_rules.html).
|
|
41
docs/guides/included-middleware.md
Normal file
41
docs/guides/included-middleware.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
Crow contains some middlewares that are ready to be used in your application.
|
||||||
|
|
||||||
|
Make sure you understand how to enable and use [middleware](../middleware/).
|
||||||
|
|
||||||
|
## Cookies
|
||||||
|
Include: `crow/middlewares/cookie_parser.h` <br>
|
||||||
|
Examples: `examples/middlewars/example_cookies.cpp`
|
||||||
|
|
||||||
|
This middleware allows to read and write cookies by using `CookieParser`. Once enabled, it parses all incoming cookies.
|
||||||
|
|
||||||
|
Cookies can be read and written with the middleware context. All cookie attributes can be changed as well.
|
||||||
|
|
||||||
|
```c++
|
||||||
|
auto& ctx = app.get_context<crow::CookieParser>(request);
|
||||||
|
std::string value = ctx.get_cookie("key");
|
||||||
|
ctx.set_cookie("key", "value")
|
||||||
|
.path("/")
|
||||||
|
.max_age(120);
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note**: Make sure the CookieParser is listed before other middleware that relies on it
|
||||||
|
|
||||||
|
## CORS
|
||||||
|
Include: `crow/middlewares/cors.h` <br>
|
||||||
|
Examples: `examples/middlewars/example_cors.cpp`
|
||||||
|
|
||||||
|
This middleware allows to set CORS policies by using `CORSHandler`. Once enabled, it will apply the default CORS rules globally.
|
||||||
|
|
||||||
|
The CORS rules can be modified by first getting the middleware via `#!cpp auto& cors = app.get_middleware<crow::CORSHandler>();`. The rules can be set per URL prefix using `prefix()`, per blueprint using `blueprint()`, or globally via `global()`. These will return a `CORSRules` object which contains the actual rules for the prefix, blueprint, or application. For more details go [here](../../reference/structcrow_1_1_c_o_r_s_handler.html).
|
||||||
|
|
||||||
|
`CORSRules` can be modified using the methods `origin()`, `methods()`, `headers()`, `max_age()`, `allow_credentials()`, or `ignore()`. For more details on these methods and what default values they take go [here](../../reference/structcrow_1_1_c_o_r_s_rules.html).
|
||||||
|
|
||||||
|
```c++
|
||||||
|
auto& cors = app.get_middleware<crow::CORSHandler>();
|
||||||
|
cors
|
||||||
|
.global()
|
||||||
|
.headers("X-Custom-Header", "Upgrade-Insecure-Requests")
|
||||||
|
.methods("POST"_method, "GET"_method)
|
||||||
|
.prefix("/cors")
|
||||||
|
.origin("example.com");
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user