fix: standardize all collection POST routes to use trailing slash #61
No reviewers
Labels
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: cal/major-domo-database#61
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/standardize-post-trailing-slashes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
@router.post('')routes to@router.post('/')acrossrouters_v3//wipe/{game_id},/creators,/s{season}/recalculate, etc.) left unchangedContext
aiohttp follows 307 redirects but converts POST→GET, dropping the request body. When
@router.post('')is used, FastAPI'sredirect_slashes=True(default) issues a 307 for requests to/endpoint/, causing silent data loss. This was the root cause of scorecard play/decision submissions failing.Companion PR: cal/major-domo-v2#74
Test plan
stratplay/crud.pyalready used'/'— confirmed unchanged@router.post('')in codebase🤖 Generated with Claude Code
aiohttp follows 307 redirects but converts POST to GET, silently dropping the request body. Standardize all @router.post('') to @router.post('/') so the canonical URL always has a trailing slash, preventing 307 redirects when clients POST with trailing slashes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>