Comments (3)
Recently I encountered the same issue and found a workaround that may be helpful for anyone hitting this problem.
I am using fairing as well and despite the crate documentation stating OPTIONS requests would be automatically handled, it doesn't work. The way I managed to make it work was to manually add the routes using the provided rocket_cors::catch_all_options_routes()
function and then adding a clone of the Cors
struct to be "managed" by the Rocket instance:
rocket::ignite()
.mount("/", routes![route1, route2, route3])
.mount("/", rocket_cors::catch_all_options_routes())
.attach(DbConn::fairing())
.attach(cors.clone())
.manage(config)
.manage(cors)
.launch();
I hope that helps.
from rocket_cors.
I would like to know how to fix this too.
from rocket_cors.
Hi,
I have a similar issue and with the .mount("/", rocket_cors::catch_all_options_routes())
; the error Not found
disappeared but I got a new one.
=> Matched: OPTIONS /<catch_all_options_route..> [9223372036854775807]
=> Error: Attempted to retrieve unmanaged state!
=> Outcome: Failure
=> Warning: Responding with 500 Internal Server Error catcher.
=> Warning: No 500 or default catcher found. Using Rocket default catcher.
=> Response succeeded.
I use the master branch of both rocket/rocket_cors;
- source = "git+https://github.com/lawliet89/rocket_cors#305971023d0edf29d10bf5af1d385481b0b5245f"
- source = "git+https://github.com/SergioBenitez/Rocket#9d45e786bbac67a5fec0b1cd4653997d84dba4e4"
As a side note I used fairing, I also try to add a manual_options as well with Guard and same error and no println; could arrive before even enter the handler; is it possible ?
/// Manually mount an OPTIONS route for your own handling
#[options("/here")]
fn manual_options(cors: Guard<'_>) -> Responder<'_, '_, &str> {
println!("Youhou, I'm here");
cors.responder("Manual OPTIONS preflight handling")
}
Not sure how to investigate it further,
I am new to rust but I am ready to learn and help on this if I can
Thanks in advance,
from rocket_cors.
Related Issues (20)
- Building on `stable` results in error HOT 5
- Rocket Cors & Headers HOT 1
- Fairing CORS fails preflight check HOT 1
- Build error with latest async-trait HOT 3
- No CORS headers (even running example) HOT 1
- Build error on Rust 1.33.0-nightly. HOT 2
- Upload Documentation to Github Pages using Github Actions HOT 6
- Add a builder pattern to CorsOptions HOT 2
- `log` is ambiguous HOT 7
- Fairing working in local but not in remote server HOT 1
- Support for Rocket async branch HOT 4
- Cors Partially working HOT 4
- Support configuration from Rocket.toml HOT 2
- Define MSRV when Rocket 0.5 is released HOT 1
- Switch back Rocket dependency to crates.io when 0.5 is released HOT 5
- CORS gives an error when booting with the default settings and accessing with axios. HOT 2
- Compile on stable rust HOT 1
- Fixed Manuel Issue HOT 1
- the trait `Fairing` is not implemented for `Cors` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rocket_cors.