diff options
author | Santo Cariotti <santo@dcariotti.me> | 2021-03-19 17:11:47 +0100 |
---|---|---|
committer | Santo Cariotti <santo@dcariotti.me> | 2021-03-19 17:11:47 +0100 |
commit | 8225cba5ce69a073b54e2eeba7c9d466efa107e3 (patch) | |
tree | fc47bb02aa430accce176903af5e36b81179c87a /src | |
parent | b9f8d1fc5183e942b28a55709bfcd1b22d691e79 (diff) |
feat: add CORS
Diffstat (limited to 'src')
-rw-r--r-- | src/main.rs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs index 2e499f9..6ac5d2b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -10,9 +10,11 @@ mod commit; mod email; mod repository; -use actix_web::{middleware, App, HttpServer}; +use actix_cors::Cors; +use actix_web::{http::header, middleware, App, HttpServer}; use dotenv::dotenv; use slog::info; +use std::env; use tokio_postgres::NoTls; use crate::config::{AppState, Config}; @@ -39,6 +41,21 @@ async fn main() -> std::io::Result<()> { log: log.clone(), }) .wrap(middleware::Logger::default()) + .wrap( + Cors::default() + .allowed_origin( + &env::var("CLIENT") + .unwrap_or("http://localhost:8080".to_string())[..] + ) + .allowed_methods(vec!["GET", "POST", "DELETE"]) + .allowed_headers(vec![ + header::AUTHORIZATION, + header::ACCEPT, + ]) + .allowed_header(header::CONTENT_TYPE) + .supports_credentials() + .max_age(3600), + ) .configure(repository::routes::config) .configure(email::routes::config) .configure(commit::routes::config) |