Comments (5)
Hi, can you try with my patch at #9 to see if it solves your problem ?
Thanks.
from flask-restful.
Thanks for the work @gbin, it indeed solves the bug as I originally reported it and I think this pull request should go in.
However, I think it's worthwhile to note that I think the correct behaviour should be:
- error in API view with
DEBUG=False
: return error JSON - error in non-API view with
DEBUG=False
: return the app's error page (customized or not) - error in API view with
DEBUG=True
: return the werkzeug debugger; probably conditionally based on theAccept
header in the request - error in non-API view with
DEBUG=True
: return the werkzeug debugger
I think the correct way to achieve this lies in making flask-restful a blueprint (or a blueprint factory? not sure about flask terminology yet) and use this API to catch only blueprint related errors.
from flask-restful.
I gonna look at how we can improve the solution from the same applications running on the same instance.
I investigated the Blueprint in order to do that and it looks interesting.
The problem is that you cannot handle at this point the 404 and 500 errors from them.
from flask-restful.
Indeed a substantial issue. I think one could argue that for 404 and 500 all you need is the HTTP status, disregarding body, but this is bending the spec to what we can easily implement rather than the other way round. Maybe there's a better way - I'm just too new to Flask.
from flask-restful.
I think this pull request should be where the rest of this discussion take place, so I'm closing this commit. Sorry for the mess - wasn't sure how to create a pull request and attach it to an existing issue without fiddling with GitHub's API.
from flask-restful.
Related Issues (20)
- Potential memory leak in flask_restful.reqparse ??? HOT 1
- how to get request.files attribute after flask send_from_directory?
- Return custom error code HOT 1
- Swagger doc like FastAPI HOT 2
- Did not attempt to load JSON data because the request Content-Type was not 'application/json'. HOT 6
- Is expected behavior of flask_restful abort() correct ? HOT 1
- Question: optional/wildcard url parameter HOT 1
- Flask 2.3 Incompatibility: app.propagate_exceptions is depreciated HOT 1
- test_client.get() with query_string doesn't work HOT 1
- The app.propagate_exceptions will be deprecated in Flask 2.3
- Using reqparse.add_argument() with default location parameter to parse requests with Content-Type other than "application/json" raises an exception when using Werkzeug>=2.1.0 HOT 3
- @api.resource is used in blueprint that it is not working HOT 1
- test_redirect failure HOT 1
- sdist is missing `tox.ini`
- This is alive? HOT 1
- response header "Server' cannot modified
- Is flask-restful dead? HOT 2
- Questions about Copilot + Open Source Software Hierarchy
- Documentation out of date for compatible Python versions
- Flask-RESTful breaks with Flask 2.3 and newer 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 flask-restful.