Commit Graph

33 Commits

Author SHA1 Message Date
Henning Holm fae7ccf9ce
Use async version from rocket's master branch (#81)
* Use hyper re-export from rocket_http

This way, the hyper version corresponding to the current rocket version
is used for the tests.

* Use async version from rocket's master branch
* switch rocket version to master branch
  (use release version once async is available)
* adapt code to incorporate changes from rocket and hyper
* Make Clippy happy again
* Make crate compile on Rust stable

Rocket meanwhile works on Rust stable, so there is no reason to be
limited to nightly.
* Fix GitHub CI build
* Use stable branch of Rust instead of broken minimum required nightly
  version.
* Disable fail-fast to reveal all problems at once.
* Remove deletion of rust-toolchain file as the file is no longer
  required/existing.

Co-authored-by: Maximilian Köstler <maximilian@koestler.hamburg>
2020-09-07 20:47:01 -06:00
Yong Wen Chua 6f56109d77
Support Regex in origins configuration (#62)
* Refactor Origin

* Fix tests

* Fix tests

* Add JSON deserialization test

* Support regex

* Fix wording

* Fix wording
2019-03-12 15:05:40 +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