Commit Graph

90 Commits

Author SHA1 Message Date
Yong Wen Chua 1ac3bedc96 Bump min Rust version 2017-09-05 13:19:22 +08:00
Yong Wen Chua ede4b1a222 Cargo clippy fixes 2017-07-26 14:37:02 +08:00
Yong Wen Chua 198190fb08 v0.2.0
- "Truly manual" mode is added (#22)
- Fairing's `on_response` will now log to info whenever it turns a missing OPTIONS
into a CORS preflight response (8eb782a7ca)
- Add a "catch all" OPTIONS route to automatically respond to preflight OPTIONS
check from the `Cors` in Rocket's managed state (#24)
- Bump minimum supported Rust nightly
2017-07-24 16:06:11 +08:00
Yong Wen Chua 36ec852a78 Add catch-all OPTIONS route and update examples/tests (#24) 2017-07-24 15:45:53 +08:00
Yong Wen Chua 8eb782a7ca Log to info when Fairing's `on_response` changes
the status code of a 404 OPTIONS

Fixes #20
2017-07-24 13:55:35 +08:00
Yong Wen Chua 92d7775b93 "Truly manual" API (#22)
* Experimental "truly manual" API

* Add API for general usage

* Add documentation and example

Change Fn to FnOnce to allow for moving and consuming
2017-07-24 13:11:10 +08:00
Yong Wen Chua 7d26aeb795 Bump nightly 2017-07-21 14:23:21 +08:00
Yong Wen Chua 0163ff6a26 Fix bug where Access-Control-Allow-Origin included a trailing `/`
Which broke all browsers
2017-07-19 16:26:44 +08:00
Yong Wen Chua 87e4145493 Redirect AllOrSome<HashSet<Url>>::new_from_str_list 2017-07-19 12:33:02 +08:00
Yong Wen Chua a5f54c72cf v0.1.3 2017-07-19 12:28:33 +08:00
Yong Wen Chua 0a94dfe22a Add Convenience typedefs and functions (#19)
* Add JSON documentation and convenience AllowedOrigin

* Add `AllowedHeaders`

* Add AllowedHeaders

* Fix tests
2017-07-19 12:25:56 +08:00
Yong Wen Chua fcd83e8fb5 Fix an issue where Fairing on_response will inject CORS headers into failed CORS requests 2017-07-19 09:52:30 +08:00
Yong Wen Chua 539157e0f0 Update Docs link and bump to 0.1.1
docs.rs cannot build nightly documentation
2017-07-18 18:27:24 +08:00
Yong Wen Chua 8fc8fef3eb Add documentation (#15)
* Add documentation for Fairing

* Add Guard example and documentation
2017-07-18 18:22:20 +08:00
Yong Wen Chua 35e9665628 Add remaining missing unit tests (#12) 2017-07-18 13:11:30 +08:00
Yong Wen Chua 6389f6d1c6 Merge pull request #10 from lawliet89/fairing-without-serde
Refactor Fairing and investigate performance improvement
2017-07-18 09:31:40 +08:00
Yong Wen Chua 808329c1c4 Remove benchmark 2017-07-17 23:11:13 +08:00
Yong Wen Chua 41f5ac11d8 Refactor to separate out validation from response building step 1 2017-07-17 23:11:12 +08:00
Yong Wen Chua 05b969e735 Remove serde 2017-07-17 18:55:54 +08:00
Yong Wen Chua 191868573d Add bench 2017-07-17 18:06:06 +08:00
Yong Wen Chua 56de116595 Add serde pass between fairings 2017-07-17 18:06:00 +08:00
Yong Wen Chua c6403fcffd Tag to 0.0.1 2017-07-17 16:30:45 +08:00
Yong Wen Chua eb98ae33bc Implement Serde (De)serialization for `Cors` struct (#7)
* Add serde support for Method

* "Turn on" serde

* Add Serde support for UniCase

* Fix merge error

* Add default tests
2017-07-17 16:22:45 +08:00
Yong Wen Chua a349b8772d Add tests to ensure that routes are not executed on failure 2017-07-17 14:41:08 +08:00
Yong Wen Chua a90556c470 Implement CORS Fairing (#9)
* Add validate to Cors

* Skeleton

* Refactor to allow for fairings to be even built

* Errors are not handled properly

* Response no longer validates

* Ad-hoc response now use response guards

* Seems like lifetime proliferation

* Wrap Response in a Guard with some dummy lifetime

* Fairing implementation
2017-07-17 14:28:54 +08:00
Yong Wen Chua 6f1a24e12d Move some code to headers module 2017-07-15 11:18:37 +08:00
Yong Wen Chua ad25352bdd Rename Options to Cors 2017-07-15 11:03:24 +08:00
Yong Wen Chua d23c935a4a Rename Options to Cors 2017-07-15 10:54:26 +08:00
Yong Wen Chua ebd75cd0ba Rocket 0.3 is released 2017-07-15 10:37:10 +08:00
Yong Wen Chua 7dbc22b523 Delay CORS checks and response until `Responder::respond_to` is invoked (#6)
* Delay checking of CORS to just before responding

* Lifetime issues

* Use State::inner()

* Fix lifetime issues

* Bump Rocket

* Document 'static limitation

And link to https://github.com/SergioBenitez/Rocket/pull/345

* Remove extraneous comments
2017-07-15 01:38:13 +08:00
Yong Wen Chua 16b89ab31c Merge pull request #5 from lawliet89/preserve-existing
Preserve existing CORS requests
2017-07-14 15:45:40 +08:00
Yong Wen Chua f1391281cd Response unit tests 2017-07-14 15:35:44 +08:00
Yong Wen Chua ca096ceb28 Extract headers integration tests 2017-07-14 13:54:34 +08:00
Yong Wen Chua 29952e182d Refactor response building to preserve existing CORS headers 2017-07-14 13:29:54 +08:00
Yong Wen Chua 830b14afed Move integration tests 2017-07-14 12:26:47 +08:00
Yong Wen Chua 8b6002653d Serde skeleton 2017-07-14 11:16:07 +08:00
Yong Wen Chua dfc1cdfee0 Refactor Implementation (#3)
* Introduce AllOrSome enum

More AllOrSome usage

Allowed methods

Preflight response

Response

* Additional documentation

* Support non CORS requests
2017-07-14 11:03:45 +08:00
Yong Wen Chua c9190abdc4 Add README 2017-07-13 16:12:54 +08:00
Yong Wen Chua 6aa97879f4 Add .travis.yml 2017-07-13 16:03:36 +08:00
Yong Wen Chua e599112867 First commit 2017-07-13 15:51:04 +08:00