74 releases (30 breaking)

0.68.5 Jul 9, 2024
0.68.0 May 30, 2024
0.66.2 Mar 6, 2024
0.63.1 Dec 21, 2023
0.37.6 Nov 29, 2022

#938 in HTTP server

Download history 1041/week @ 2024-04-05 1033/week @ 2024-04-12 1028/week @ 2024-04-19 1134/week @ 2024-04-26 1268/week @ 2024-05-03 1138/week @ 2024-05-10 1334/week @ 2024-05-17 1300/week @ 2024-05-24 1314/week @ 2024-05-31 1191/week @ 2024-06-07 1482/week @ 2024-06-14 1263/week @ 2024-06-21 981/week @ 2024-06-28 1178/week @ 2024-07-05 1022/week @ 2024-07-12 782/week @ 2024-07-19

4,101 downloads per month
Used in 2 crates (via salvo)

MIT/Apache

690KB
15K SLoC

salvo-cors

Library adds CORS protection for Salvo web framework.

This is offical crate, so you can enable it in Cargo.toml like this:

salvo = { version = "*", features=["cors"] }

Docs


lib.rs:

Library adds CORS protection for Salvo web framework.

Example

use salvo_core::http::Method;
use salvo_core::prelude::*;
use salvo_cors::Cors;

let cors_handler = Cors::new()
    .allow_origin("https://salvo.rs")
    .allow_methods(vec![Method::GET, Method::POST, Method::DELETE]).into_handler();

let router = Router::new().hoop(cors_handler).post(upload_file).options(upload_file);
#[handler]
async fn upload_file(res: &mut Response) {
}

If you want to allow any router:

use salvo_core::prelude::*;
use salvo_cors::{self as cors, Cors};
let cors_handler = Cors::new().allow_origin(cors::Any).into_handler();

Read more: https://salvo.rs

Dependencies

~18–31MB
~550K SLoC