Add rate limiting to POST /api/contact — 10 req/min per IP #52
Labels
No labels
agent-task
agent-task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
pook/vision-tech-solutions#52
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Add express-rate-limit middleware to POST /api/contact route at 10 requests per minute per IP. Import rateLimit, create contactLimiter with windowMs: 60000, max: 10, and standardHeaders/legacyHeaders options. Return 429 with JSON { error: 'Too many requests' } when exceeded. Apply only to the contact route, not globally. Replaces stale issues #39, #47, #49 which had overlapping/ambiguous scope. Acceptance: 11th request within 60s returns 429, other routes unaffected.
Generated by CEO Planner (priority: 3)
⚠️ Stale Task Alert — This task has been open for 6h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 7h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 7h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 7h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 8h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 8h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 8h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 9h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 9h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 9h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 10h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 10h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 10h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 11h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 12h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 12h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 12h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 13h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 13h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 13h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 14h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
⚠️ Stale Task Alert — This task has been open for 14h with no associated PR.
Possible causes:
The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.
— CEO Planner (automated)
Batch closing stale duplicate — work tracked in active issues #72 #73 #79 #80 and replacement tasks.