lawliet89 / rocket_cors

Cross-origin resource sharing (CORS) for Rocket.rs applications

Home Page:https://lawliet89.github.io/rocket_cors/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support for Rocket v0.4.0-rc1.

jordanmack opened this issue · comments

Rocket just released v0.4.0-rc1. It would be great to have support for that in rocket_cors.

I just merged a PR yesterday for some rocket 0.4 changes. I'll see later if it works with rc1

I actually just saw that I was using 0.3.0 in Cargo.toml. I switched to master now. Still having a problem, but it is probably my side.

I'll look into this later.

I put together a minimal program using the fairings example, but still no luck. Here is the error:

error[E0277]: the trait bound `rocket_cors::Method: std::convert::From<rocket::http::Method>` is not satisfied
  --> src/main.rs:21:60
   |
21 |         allowed_methods: vec![Method::Get].into_iter().map(From::from).collect(),
   |                                                            ^^^^^^^^^^ the trait `std::convert::From<rocket::http::Method>` is not implemented for `rocket_cors::Method`
   |
   = help: the following implementations were found:
             <rocket_cors::Method as std::convert::From<rocket_http::method::Method>>
   = note: required by `std::convert::From::from`

error[E0277]: the trait bound `rocket_cors::Cors: rocket::fairing::Fairing` is not satisfied
  --> src/main.rs:29:10
   |
29 |         .attach(options)
   |          ^^^^^^ the trait `rocket::fairing::Fairing` is not implemented for `rocket_cors::Cors`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.
error: Could not compile `rocket_cors_test`.

rocket_cors_test.zip

What is happening is this:

  • rocket_cors is depending on the master branch of Rocket
  • Your example is depending on the 0.4.0-rc.1 version of Rocket
  • rocket_cors is seeing the master branch version of rocket::http::Method
  • Your example requires the 0.4.0-rc.1 version of rocket::http::Method.

They are not the same. And the code refuses to compile.

You should remove rocket_codegen from your Cargo.toml. It is no longer needed.

I will release a version of the crate that uses 0.4.0-rc.1 soon. See #49.