Commit Graph

45 Commits

Author SHA1 Message Date
Yong Wen Chua bfaab9872e Fix Unicode Serialization of Access-Control-Allow-Origin 2018-02-14 16:27:50 +08:00
Yong Wen Chua 4396310913 Adjoin `Vary` header in response
Instead of removing/overwriting
2018-02-14 15:50:39 +08:00
Yong Wen Chua b71f7a2243 Bump to development 0.3
And link to manually maintained stable docs for now
2018-02-14 15:19:51 +08:00
Yong Wen Chua ec04e27a89
Configure the rank of the injected Fairing error handling route (#36)
* Add option to change the rank of the injected Fairing error handling route

* Document the route
2018-02-14 14:21:50 +08:00
Yong Wen Chua 561cc86af5 Use intra rustdoc links
See https://github.com/rust-lang/rust/issues/43466
2018-02-14 13:49:10 +08:00
Yong Wen Chua 39eb59e466 Address ICE related to impl trait
Original bug: https://github.com/rust-lang/rust/issues/43380

Fixes #33
2018-02-14 13:37:48 +08:00
Yong Wen Chua ff1deabf55 Rustfmt fix
- Bump to 0.2.2
 - Add Travis cargo cache
2018-02-14 13:22:43 +08:00
Yong Wen Chua 456248eabf
Bump rocket to 0.3.6 (#34)
* Bump rocket to 0.3.6

- Remove `build.rs` - the minimum nightly version is enforced by Rocket
- Remove the pinning to a specific Nightly version. The latest nightly
should work.
- Added a minimum nightly matrix

* Fix Rocket's minimum

* Fix travis build script
2018-02-14 13:20:31 +08:00
Yong Wen Chua c99083af5d v0.2.1
- Bumped nightly requirement to at least `nightly-2017-09-26`
- `serde` is now gated behind a feature flag, enabled by default
- Some small cleanup changes
2017-11-06 15:31:05 +08:00
Yong Wen Chua 44211b27d8 Use `pub(crate)` visibility for internal Response 2017-11-06 10:57:25 +08:00
Allan Simon cc871967df update fairing.rs removed duplicate condition (#27)
the method == option check was present twice for apparently no reason (typo?)
2017-10-31 11:00:14 +08:00
Yong Wen Chua 9782a47456 Add "mix" mode example (#26)
* Add "mix" mode example

* Fix typo
2017-09-05 14:59:51 +08:00
Yong Wen Chua 715913a6b3 Gate serde behind a feature flag (#25)
* Gate serde behind a feature flag

Fixes #16

* Fix travis build configuration
2017-09-05 14:11:28 +08:00
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 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 56de116595 Add serde pass between fairings 2017-07-17 18:06:00 +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 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 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 e599112867 First commit 2017-07-13 15:51:04 +08:00