Skip to content

Commit ea7d3ef

Browse files
feat: log error reasons
1 parent 21bfc8d commit ea7d3ef

File tree

2 files changed

+26
-13
lines changed

2 files changed

+26
-13
lines changed

src/handler.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,22 @@ export function parseRequestBody(body: unknown): {
1313
return { url, evaluationFunctionRequestData }
1414
}
1515

16-
export async function handleRawRequest(body: unknown): Promise<object | null> {
16+
export enum HandlerError {
17+
ParseFailed,
18+
ForwardingFailed,
19+
}
20+
21+
export async function handleRawRequest(
22+
body: unknown,
23+
): Promise<object | HandlerError> {
1724
const parseResult = parseRequestBody(body)
18-
if (parseResult == null) return null
25+
if (parseResult == null) return HandlerError.ParseFailed
1926

2027
const { url, evaluationFunctionRequestData } = parseResult
2128
try {
2229
const response = await axios.post(url, evaluationFunctionRequestData)
2330
return response.data
2431
} catch (_) {
25-
return null
32+
return HandlerError.ForwardingFailed
2633
}
2734
}

src/index.ts

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import cors from 'cors'
22
import express from 'express'
33
import dotenv from 'dotenv'
44

5-
import { handleRawRequest } from './handler'
5+
import { HandlerError, handleRawRequest } from './handler'
66

77
dotenv.config()
88

@@ -14,15 +14,21 @@ app.use(express.json())
1414
app.post('/', async (req, res) => {
1515
console.log(`[INFO] Received POST request:`, req.body)
1616
const responseData = await handleRawRequest(req.body)
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)
17+
switch (responseData) {
18+
case HandlerError.ParseFailed:
19+
console.log('[WARN] Invalid request received and ignored.')
20+
res.status(400).send()
21+
break
22+
case HandlerError.ForwardingFailed:
23+
console.log('[WARN] Failed to forward request to evaluation function.')
24+
res.status(400).send()
25+
break
26+
default:
27+
console.log(
28+
'[INFO] Received response from evaluation function:',
29+
responseData,
30+
)
31+
res.send(responseData)
2632
}
2733
})
2834

0 commit comments

Comments
 (0)