7 releases

Uses old Rust 2015

0.2.0 Nov 25, 2017
0.1.5 Sep 6, 2017
0.1.4 Aug 11, 2017
0.1.3 May 23, 2017

#1405 in HTTP server

34 downloads per month

MIT license

35KB
392 lines

Corsware

Corsware is yet another implementation of the CORS Specification for Iron. The ambition of this implementation is to make a more or less complete implementation following the spec as closely as possible. This means supporting preflight request detection, normal request decoration, allowing credentials, origins, methods and headers, exposing headers, handling null Origins and setting Max-Age.

The middleware itself is simply a standard Iron AroundMiddleware and contains no special routing logic.

Simple Example

extern crate iron;
extern crate corsware;
use corsware::CorsMiddleware;
use iron::prelude::*;
use iron::status;

fn main() {
  let handler = |_: &mut Request| {
      Ok(Response::with((status::Ok, "Hello world!")))
  };
  let mut chain = Chain::new(handler);
  chain.link_around(CorsMiddleware::permissive());
  let mut listening = Iron::new(chain).http("localhost:0").unwrap();
  listening.close().unwrap();
}

Documentation

https://atorstling.github.io/corsware/corsware/index.html

Origin Spec

Origin Casemap Spec

Dependencies

~4.5MB
~114K SLoC