Skip to content

Commit e46a6d0

Browse files
feat: log and ignore invalid requests
1 parent 13ae4b9 commit e46a6d0

2 files changed

Lines changed: 28 additions & 6 deletions

File tree

src/handler.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,22 @@ import axios from 'axios'
22

33
import * as schema from './schema'
44

5-
export async function handleRawRequest(body: object): Promise<object> {
6-
const { url, ...evaluationFunctionRequestData } =
7-
schema.TestServerRequestData.parse(body)
5+
export function parseRequestBody(body: unknown): {
6+
url: string
7+
evaluationFunctionRequestData: schema.EvaluationFunctionRequestData
8+
} | null {
9+
const parseResult = schema.TestServerRequestData.safeParse(body)
10+
if (!parseResult.success) return null
11+
12+
const { url, ...evaluationFunctionRequestData } = parseResult.data
13+
return { url, evaluationFunctionRequestData }
14+
}
15+
16+
export async function handleRawRequest(body: unknown): Promise<object | null> {
17+
const parseResult = parseRequestBody(body)
18+
if (parseResult == null) return null
19+
20+
const { url, evaluationFunctionRequestData } = parseResult
821
const response = await axios.post(url, evaluationFunctionRequestData)
922
return response.data
1023
}

src/index.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,22 @@ app.use(cors())
1212
app.use(express.json())
1313

1414
app.post('/', async (req, res) => {
15-
console.log(`Received POST request:`, req.body)
15+
console.log(`[INFO] Received POST request:`, req.body)
1616
const responseData = await handleRawRequest(req.body)
17-
res.send(responseData)
17+
if (responseData == null) {
18+
console.log('[WARN] Invalid request received and ignored.')
19+
res.status(400).send()
20+
} else {
21+
console.log(
22+
'[INFO] Received response from evaluation function:',
23+
responseData,
24+
)
25+
res.send(responseData)
26+
}
1827
})
1928

2029
const port = process.env.PORT ?? 3070
2130

2231
app.listen(port, () => {
23-
console.log(`Listening on port ${port}`)
32+
console.log(`[INFO] Listening on port ${port}`)
2433
})

0 commit comments

Comments
 (0)