Commit Graph

36 Commits

Author SHA1 Message Date
Henning Holm cb17fde4d6 Make crate compile on Rust stable
Rocket meanwhile works on Rust stable, so there is no reason to be
limited to nightly.
2020-09-05 16:41:59 +02:00
Henning Holm 92bc525016 Make Clippy happy again 2020-09-05 16:41:59 +02:00
Henning Holm 2046f3c7c0 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

Co-authored-by: Maximilian Köstler <maximilian@koestler.hamburg>
2020-09-05 16:41:59 +02:00
Henning Holm 7e13b63313 Use hyper re-export from rocket_http
This way, the hyper version corresponding to the current rocket version
is used for the tests.
2020-08-11 09:43:51 +02: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