404 does not pass through formatter
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 10k
- Forks
- 1.2k
- Avg merge
- 14h 38m
- Merged PRs (30d)
- 92
Description
Since Rack::Mount::RouteSet is used for routing before any middleware is run, if a route does not exist RouteSet generates the 404, and it never passes through a formatter.
This behavior might be undesirable if the client expects all responses to follow the correct format.
As a temporary hack, I running a middleware before the subclass of Grape::API, that invokes methods from Grape::Middleware::Error if a 404 is returned.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how Rack::Mount::RouteSet produces a missing-route 404 before middleware, then compare that path with Grape::Middleware::Error and the formatter behavior. Determine the intended response-format contract and identify tests covering missing routes and formatting. Done means the 404 follows the expected formatter path without requiring the temporary middleware workaround.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100