Comments (3)
Hi @Sirtea!
I agree it is a somewhat inconsistent behaviour...
However, not sure if we should allow adding empty resources at all? 🤔 HTTP 405 means that a method is not allowed, and the server should return a list of allowed methods, but in this case there are none?
from falcon.
In the rare event that I disable all "collection" methods, it makes no sense to have the add_route(..., suffix='collection')
statement. Same could be said in the event of disabling all the "normal" methods. Probably is a bug not worth looking at, but I just wanted you to know.
And to be correct, any resource with no responders should be giving a 404 instead of a 405 on all HTTP verbs... Again, it's a weird usage of the resources from a developers perspective, but his own fault.
from falcon.
I'm more inclined to think that the behaviour done when suffix is specified, ie the raise, is more correct.
from falcon.
Related Issues (20)
- `DefaultEventLoopPolicy.get_event_loop()` is deprecated (in the case of no loop) HOT 3
- Make contributor's checklist pass on CPython 3.12
- unable to iterate through `MultipartForm` multiple times HOT 2
- `http_date_to_dt()` should return a timezone-aware datetime
- Drop `--no-build-isolation` in testing
- IPv6 WSGI server fails to start
- Migrate to "pure Python" Cython mode where applicable HOT 3
- Make Python 3.12 the default CI version
- Docs facelift HOT 2
- Request: offer a way to validate `get_media()` as part of decoding the stream data to Python HOT 7
- Refactor CONSUME_MULTIPLE_SEGMENTS in BaseConverter HOT 1
- TestClient methods are typed to return _ResultBase, but actually return Result HOT 4
- TestClient sets buffered_stream, but not stream HOT 3
- Add support for 'partitioned' attribute to set_cookie() HOT 7
- Migrate to another code formatter? HOT 5
- Make it easier to extend/subclass default router
- Document how resp is affected by raising `HTTPError`/`HTTPStatus` HOT 3
- Generalize validators to support additional types of validation other than jsonschema HOT 2
- Use `ruff` linter instead of `flake8`
- Update installation docs wrt PEP 517
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 falcon.