1
0
mirror of https://github.com/actix/examples synced 2025-02-17 15:23:31 +01:00

39 lines
1.0 KiB
Rust
Raw Normal View History

#[macro_use] extern crate serde_derive;
extern crate serde;
extern crate serde_json;
extern crate futures;
extern crate actix;
extern crate actix_web;
extern crate env_logger;
use std::env;
2018-04-13 16:03:58 +08:00
use actix_web::{server, App, http::{header, Method}, middleware, middleware::cors::Cors};
mod user;
use user::info;
fn main() {
env::set_var("RUST_LOG", "actix_web=info");
env_logger::init();
let sys = actix::System::new("Actix-web-CORS");
server::new(
2018-04-13 16:03:58 +08:00
move || App::new()
.middleware(middleware::Logger::default())
2018-04-13 16:03:58 +08:00
.configure(|app| Cors::for_app(app)
.allowed_origin("http://localhost:1234")
.allowed_methods(vec!["GET", "POST"])
.allowed_headers(vec![header::AUTHORIZATION, header::ACCEPT])
.allowed_header(header::CONTENT_TYPE)
.max_age(3600)
.resource("/user/info", |r| { r.method(Method::POST).with(info);})
.register()))
.bind("127.0.0.1:8000").unwrap()
2018-04-13 16:03:58 +08:00
.shutdown_timeout(2)
.start();
let _ = sys.run();
}