Rate Limit Responses for Repost Endpoints
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 254
- Forks
- 53
- PR merge metrics
- No merged PRs in 30d
Description
Title: Rate Limit Responses for Actions Endpoints (Reposts)
Issue found of: 7th July, 2021
Endpoint(s):
POST /reposts/tracks/{id}
Scope(s):
- User scope
Expected behaviour:
When a user has been blocked from reposting on SoundCloud, this endpoint should return a 429 response. Historically when we were using the v2 API, this was the case, and this enabled us to notify the user they have been rate limited by SoundCloud, give them advice on why this is not a good idea and should be avoided, as well as pointing them to resources on the SoundCloud website for more information.
While we enforce our own limits on reposting via our app, a user is able repost elsewhere before doing doing so on our platform.
By giving us a 429 response, it enables us to close the feedback loop with the user, as well as allowing us to temporarily restrict functionality if warranted.
Other action endpoints (follows, likes etc) return 429 when a user has breached limits which allows us to be more intelligent with our advice and messaging within our app.
Actual behaviour:
It seems that when the repost rate-limit is hit, this endpoint returns 500 instead.
Contributor guide
No contributing guide indexed for this repository
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 with POST /reposts/tracks/{id} and reproduce the user-scope request after the repost rate limit is reached. Compare its response with the other action endpoints mentioned in the issue; done means the rate-limited repost request returns 429 rather than 500.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100