Skip to content

Commit a130245

Browse files
author
subtype
committed
Merge branch 'rc-v1' into 'v1'
Rc v1 See merge request subtype/subspace-api!11
2 parents 526ba3b + 79c195e commit a130245

File tree

2 files changed

+17
-14
lines changed

2 files changed

+17
-14
lines changed

src/utils/auth.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@ import { logger } from './logger.js'
55
const JWT_SECRET = process.env.JWT_SECRET
66

77
export function logIncomingAuth(req: Request, res: Response, next: NextFunction) {
8-
logger.debug('Incoming headers:', req.headers)
8+
logger.info(
9+
`[AUTH] ${req.headers['cf-connecting-ip'] ?? req.ip} - ${req.headers['cf-ipcountry'] ?? 'unknown country'}`
10+
)
911

1012
const authHeader = req.headers.authorization
1113
if (!authHeader?.startsWith('Bearer ')) {
1214
logger.warn('No auth header or bad format')
15+
logger.debug('Incoming headers:', req.headers)
1316
} else {
1417
const token = authHeader.split(' ')[1]
1518
logger.debug('Inspecting token:', token)

src/utils/rateLimiter.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ import { logger } from './logger.js'
44
import { Response } from 'express'
55

66
export const rateLimiter: RateLimitRequestHandler = rateLimit({
7-
windowMs: 60 * 1000,
8-
limit: (req: Request): number => {
9-
logger.debug(`Rate limit check ${ req.auth ? 'authenticated' : 'anon' } - ${ req.headers['cf-connecting-ip'] ?? req.ip }`)
10-
return req.auth ? 60 : 5 // 60 req/min for auth, 5 for anon
11-
},
12-
keyGenerator: (req: Request): string => {
13-
return req.auth?.sub ? `session-${req.auth.sub}` : req.ip!
14-
},
15-
handler: (req: Request, res: Response) => {
16-
logger.warn('Rate limiting IP address:', req.ip)
17-
res.status(429).send({ message: 'Rate limited' })
18-
}
19-
})
7+
windowMs: 60 * 1000,
8+
limit: (req: Request): number => {
9+
logger.info(`Rate limit check ${req.auth ? 'authenticated' : 'anon'} - ${req.headers['cf-connecting-ip'] ?? req.ip}`)
10+
return req.auth ? 60 : 5 // 60 req/min for auth, 5 for anon
11+
},
12+
keyGenerator: (req: Request): string => {
13+
return req.auth?.sub ? `session-${req.auth.sub}` : req.ip!
14+
},
15+
handler: (req: Request, res: Response) => {
16+
logger.warn('Rate limiting IP address:', req.ip)
17+
res.status(429).send({ message: 'Rate limited' })
18+
},
19+
})

0 commit comments

Comments
 (0)