Comments (11)
My use case, at the moment, is trying to implement CORS (before middleware support). I would like to have Options
and Get
(for example) to be handled by the same function so that I can handle the pre-flight and the actual requests without repeating some code.
from rocket.
It sounds like valid use cases. I agree it can be used to conflate ideas and easily abused. I think best some sort best practices or warning in the docs would helpful at addressing that, at least partially (since the most likely candidates to abuse the feature are newer users, the people who likely to be reading the docs).
from rocket.
Closing this as it seems unnecessary. Will revisit if requests call for it.
from rocket.
Additionally, allow the same argument to be used as both the query and form parameters if GET and POST are both present.
from rocket.
A workaround can be to simply place multiple attributes on the function:
#[get("/?<form>")]
#[post("/", form = "<form>")]
fn my_form() {
}
This won't work at the moment, of course, because the generated items will have the same name.
from rocket.
I'd like some feedback from others to determine if this feature is indeed worthwhile. I haven't had a need for it, and it seems to only conflate code and ideas. But if someone has a good use-case, I'm all ears.
from rocket.
Pushing this to a decision by 0.4.
from rocket.
I haven't had much use for this default behavior in Asp.Net MVC. I typically want it to be obvious where a request will be routed. I feel that Get/Post on the same handler function is more hassle than it's worth.
from rocket.
Routing both GET and POST to the same handler is very useful in a traditional web app that has a postback form.
An example in Flask (Python):
@app.route('/submit', methods=('GET', 'POST'))
def submit():
form = MyForm()
if form.validate_on_submit():
return redirect('/success')
return render_template('submit.html', form=form)
from rocket.
Those sound like valid use cases. Is there anyone that thinks this is a bad idea?
from rocket.
Pushing into the future.
from rocket.
Related Issues (20)
- Getting several lints on a #[derive(FromForm)] HOT 1
- Receiving ">>> Request guard `…` is forwarding" messages with log_level=critical HOT 6
- debug!("Received request: {:#?}", hyp_req); HOT 4
- Can't make private cookie not secure HOT 4
- Rocket does not return a 413 when the data submitted in a form exceeds the limit HOT 7
- Build fails with rustc<=1.68.2 HOT 3
- Update `hyper` to `1.0` HOT 1
- Conflicts among routes when `FileServer::rank()` function is used HOT 11
- Getting several no_effect_underscore_binding lints on #[launch] HOT 1
- Hello world example compiler error: macro-expanded `macro_export` HOT 2
- Handling of null bytes in forms is problematic HOT 6
- Improvements for the web serach: Content-Type, text/plain HOT 4
- Phase out async_trait macro HOT 2
- Recognise source maps in `ContentType::from_extension` HOT 2
- route rank clarification HOT 1
- Link to GitHub discussion from the web site HOT 1
- Supply PanicInfo to Catchers where applicable HOT 2
- (Solved) Rocket database fairing panicking while connecting to dockerized postgres on MacOS Sonoma HOT 1
- how to return error as a Json from FromParam HOT 3
- Responder enums not serializing like expected HOT 1
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.