2022-02-18 03:19:57 +01:00
# Middleware: Various
2019-09-11 16:49:00 +02:00
2023-10-30 00:51:05 +01:00
This example showcases a bunch of different uses of middleware.
See also the [Middleware guide ](https://actix.rs/docs/middleware ).
2019-09-11 16:49:00 +02:00
## Usage
2018-07-09 21:36:03 +02:00
2022-02-18 04:36:04 +01:00
```sh
2023-10-30 00:51:05 +01:00
cd middleware/various
2018-07-09 21:36:03 +02:00
cargo run
```
2022-02-18 03:19:57 +01:00
Look in `src/main.rs` and comment the different middleware in/out to see how they function.
2019-09-11 16:49:00 +02:00
2022-02-18 03:19:57 +01:00
## Middleware
2019-09-11 16:49:00 +02:00
2022-02-18 03:19:57 +01:00
### `redirect::CheckLogin`
2019-09-11 16:49:00 +02:00
A middleware implementing a request guard which sketches a rough approximation of what a login could look like.
2022-02-18 03:19:57 +01:00
### `read_request_body::Logging`
2019-09-11 16:49:00 +02:00
A middleware demonstrating how to read out the incoming request body.
2022-02-18 03:19:57 +01:00
### `read_response_body::Logging`
2019-09-18 04:37:35 +02:00
A middleware demonstrating how to read out the outgoing response body.
2022-02-18 03:19:57 +01:00
### `simple::SayHi`
2019-09-11 16:49:00 +02:00
2022-03-06 01:43:10 +01:00
A minimal middleware demonstrating the sequence of operations in an actix middleware. There is a second version of the same middleware using `wrap_fn` which shows how easily a middleware can be implemented in actix.
2022-02-22 13:12:17 +01:00
## See Also
- The `from_fn` middleware constructor from [`actix-web-lab` ](https://crates.io/crates/actix-web-lab ).