1
0
mirror of https://github.com/actix/examples synced 2025-06-26 17:17:42 +02:00
This commit is contained in:
Gorm Casper
2018-07-09 20:18:31 +02:00
parent 14baeff358
commit ab7736c790
6 changed files with 51 additions and 0 deletions

8
middleware/Cargo.toml Normal file
View File

@ -0,0 +1,8 @@
[package]
name = "middleware-example"
version = "0.1.0"
authors = ["Gorm Casper <gcasper@gmail.com>"]
[dependencies]
actix = "0.5"
actix-web = "^0.6"

20
middleware/src/main.rs Normal file
View File

@ -0,0 +1,20 @@
extern crate actix;
extern crate actix_web;
use actix_web::{server, App};
mod simple;
fn main() {
let sys = actix::System::new("middleware-example");
let _addr = server::new(|| {
App::new()
.middleware(simple::SayHi)
.resource("/index.html", |r| r.f(|_| "Hello, middleware!"))
}).bind("0.0.0.0:8080")
.unwrap()
.start();
let _ = sys.run();
}

13
middleware/src/simple.rs Normal file
View File

@ -0,0 +1,13 @@
extern crate actix_web;
use actix_web::middleware::{Middleware, Started};
use actix_web::{HttpRequest, Result};
pub struct SayHi;
impl<S> Middleware<S> for SayHi {
fn start(&self, _req: &mut HttpRequest<S>) -> Result<Started> {
println!("Hi");
Ok(Started::Done)
}
}