Phase 8a Task 3. Reads x-forwarded-for (first hop), then x-real-ip, falls back to 'unknown'. Not used for auth or logging — pure rate- limit keying so concurrent clients do not share one bucket. |
||
|---|---|---|
| .. | ||
| app | ||
| components | ||
| lib | ||
| middleware.ts | ||
Phase 8a Task 3. Reads x-forwarded-for (first hop), then x-real-ip, falls back to 'unknown'. Not used for auth or logging — pure rate- limit keying so concurrent clients do not share one bucket. |
||
|---|---|---|
| .. | ||
| app | ||
| components | ||
| lib | ||
| middleware.ts | ||