Comments (3)
I'm having a hard time evaluating this. None of the suggested fixes are really useful.
1 is not possible. 3 is not possible, except to "handle" it by raising an error, which is what happens when the app context (instead of request context) can't create an adapter. 2 is possible, at least to raise a clearer error message closer to where the problem occurs, as explained for 3, but it shouldn't be something the dev should consider handling, since ultimately it's an issue with the server environment.
There is a little known feature called app.url_build_error_handlers
, which is a list of handlers to call when adapter.build()
raises a BuildError
. Right now, it's only called when adapter.build()
fails with a BuildError
, not for other errors or errors raised by Flask when wrapping that call. This could be extended so that the RuntimeError
and ValueError
that url_for
raises in certain situations would be a BuildError
instead and pass through the same handlers. By default, no handlers means that the error is re-raised.
from flask.
Thanks for checking this. I know it's a weird one, with not a clear path forward.
I like the idea to register a url build error handler 👍
from flask.
Hi, I now found a reproducible example by just providing an invalid Host header value. I also reported it to cheroot: cherrypy/cheroot#646
from flask.
Related Issues (20)
- Flask 3.0.1 breaks path-separated command line arguments HOT 2
- Issue matching route with methods=['OPTIONS'] when similar route appears later using ['GET', 'POST'] HOT 3
- use ThreadPoolExecutor and copy_current_request_context in flask will appear some bug
- `FileStorage` closed unexpectedly when using `copy_current_request_context` HOT 1
- Blueprint Dynamic URL For `string` vs. `path`
- Extend Config type HOT 1
- send_file doesn't work with objects HOT 1
- Add domain support to Blueprint HOT 5
- CHIPS support HOT 1
- The dependency specifiers are too relaxed HOT 3
- Route Aliases HOT 2
- Flask logging - Other libraries - FileHandler creates duplicate log entries HOT 11
- transfer-encoding: debug server behavior differs from test client HOT 1
- Keep code running after response has been sent. (To respond with HTTP requests to other servers) HOT 6
- Secret Key Rotation HOT 1
- @app.errorhandler() cannot be used in blueprint when debug=False
- Flask is not running when Debug is True on Windows HOT 1
- Starter example results in 404 error HOT 4
- How to avoid duplicate threads in debug mode
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 flask.