Crate clia_ntex_cors

source ·
Expand description

Cross-origin resource sharing (CORS) for ntex applications

CORS middleware could be used with application and with resource. Cors middleware could be used as parameter for App::wrap(), Resource::wrap() or Scope::wrap() methods.


use ntex_cors::Cors;
use ntex::{http, web};
use ntex::web::{App, HttpRequest, HttpResponse};

async fn index(req: HttpRequest) -> &'static str {
    "Hello world"

async fn main() -> std::io::Result<()> {
    web::server(|| App::new()
            Cors::new() // <- Construct CORS middleware builder
              .allowed_methods(vec!["GET", "POST"])
              .allowed_headers(vec![http::header::AUTHORIZATION, http::header::ACCEPT])
              .route(web::head().to(|| async { HttpResponse::MethodNotAllowed() }))

In this example custom CORS middleware get registered for “/index.html” endpoint.

Cors middleware automatically handle OPTIONS preflight request.


  • Structure that follows the builder pattern for building Cors middleware structs.
  • Middleware for Cross-origin resource sharing support
  • Middleware for Cross-origin resource sharing support


  • An enum signifying that some of type T is allowed, or All (everything is allowed).
  • A set of errors that can occur during processing CORS