Commit Graph

33 Commits

Author SHA1 Message Date
Yong Wen Chua 9537fc7b32
Fix tests 2019-03-12 14:17:52 +08:00
Yong Wen Chua 3349c972cf
Fix tests 2019-03-12 14:00:34 +08:00
Yong Wen Chua f9bffe77d6
Refactor Origins to better support additional use cases (#59)
* Specify an internal structure for Cors

* Use type alias

* Refactor Origin validation

* Separate out `Origin`

* Add tests
2019-03-12 09:58:51 +08:00
Yong Wen Chua c86bb44529
Create `CorsOptions` (#57)
* Create `CorsOptions`

- `Cors` will be, in the future, an "optimised" or "compiled" version of
`CorsOptions`
- For now, `Cors` simply clones `CorsOptions` and `Deref`s to
`CorsOptions`.

* Update examples

* Remove usage of `Self` struct constructors
2018-12-19 01:29:26 +01:00
Yong Wen Chua 13a3f7368e
Upgrade to Rust 2018 to fix Macro use and import issues (#52)
* Upgrade to Rust 2018 to fix Macro use and import issues

Fixes #51

* Cargo fmt
2018-11-21 12:17:40 +08:00
Yong Wen Chua 4dda14373a
cargo fmt 2018-10-31 10:30:10 +08:00
Eric Dattore 0b73773692 Update library to 0.4 and support Rocket 0.4 (#46)
* Update Cargo.toml for Rocket `master`

* Prepare library for Rocket 0.4

TODO: check line 62 in `fairing.rs` to find better way than unwrapping

* Bump minimum nightly for Rocket 0.4
2018-10-31 10:25:10 +08:00
Tal Garfinkel f4858e1029 Fix various warnings generated by build: (#43)
-removed conservative_impl_trait as it is no longer needed with the current compiler.
-removed allow(unmounted_route) as rocket no longer provides this linter.
2018-07-19 10:03:03 +08:00
Yong Wen Chua 7954d9d078
Cargo fmt (#42) 2018-07-18 13:26:33 +08:00
Yong Wen Chua 4db0969584
Bump Rocket, Rust version and remove impl trait flag (#40)
* Bump Rocket, Rust version and remove impl trait flag

* Seems to build now

* Ignore Rocket documentation errors

* Update travis script

* Increase nightly version by a day

* Bump again
2018-07-18 13:07:31 +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 9782a47456 Add "mix" mode example (#26)
* Add "mix" mode example

* Fix typo
2017-09-05 14:59:51 +08:00
Yong Wen Chua ede4b1a222 Cargo clippy fixes 2017-07-26 14:37:02 +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 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 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 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 35e9665628 Add remaining missing unit tests (#12) 2017-07-18 13:11:30 +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 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 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 d23c935a4a Rename Options to Cors 2017-07-15 10:54:26 +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 830b14afed Move integration tests 2017-07-14 12:26:47 +08:00