Invalid query parameters return two different error shapes
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start by tracing query-parameter validation on the list endpoints for limit, dir, order_by, time[…], and the next/prev cursors, comparing the 400 and 422 response shapes shown in the issue. The issue leaves the choice of status and shape open, so clarify that decision before changing behavior. Done means all those invalid parameters use one consistent status and response shape, with a release note covering the client compatibility impact.
Written by the indexing model from the issue text.
Description
As of #1109, on the list endpoints an invalid limit returns a 400 with a plain message. For example GET /api/v1/events?limit=0:
{"status":400,"message":"invalid limit: must be between 1 and 1000"}
An invalid dir, order_by or time[…] on the same endpoint returns a 422 with a data detail. For example GET /api/v1/events?dir=sideways:
{"status":422,"message":"validation error","data":{"query.dir":"must be 'asc' or 'desc'"}}
An invalid next or prev cursor is a 400 with a plain message, like limit. A client has to handle both shapes for one request.
Proposal: pick one status and shape for query parameter validation and apply it on every endpoint. Clients that match on the status would break, so the change needs a release note.
- Dominant language
- Go
- Stars
- 1.1k
- Forks
- 70
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 56
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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.
More from hookdeck/outpost
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 48/100
hookdeck/outpost#1117 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Maintainers usually reply within 1 day
All issues in hookdeck/outpost
Similar issues
-
kind/bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
kubernetes-sigs/kueue#17385 ·
Maintainers usually reply within 1 day
-
Tablet Pods keep only one of several topology spread constraints that share a label selectorPossibly taken @RaphaelFakhri claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
planetscale/vitess-operator#858 ·
Maintainers usually reply within 2 days
-
Realtime: ASR EOU language tags leak into the LLM conversation (unintended reply-language switching)Possibly taken @nexxtmobile claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
content:edit documentation effort:high
Difficulty 1/5 1-3 hours Newbie friendliness 67/100
cloudflare/cloudflare-docs#34428 ·
Maintainers usually reply within 1 day
-
generate: duplicate-skill warning ignores lint.allow_overrides when a local skill shadows a builtinOpen
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day