Skip to content

Commit d1589af

Browse files
chore(api): add error handling to /props API
1 parent 9938e82 commit d1589af

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

src/pages/props.ts

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,31 @@
11
import { fetchProps } from '../utils/propsData/fetch'
2+
import { createJsonResponse } from '../utils/apiHelpers'
23

34
export const prerender = false
45

56
export async function GET({ request }: { request: Request }) {
67
const url = new URL(request.url)
7-
const props = await fetchProps(url)
88

99
const components = url.searchParams.get('components')
10-
const componentsArray = components?.split(',')
11-
const propsData = componentsArray?.map((component) => props[component])
10+
if (!components) {
11+
return createJsonResponse(
12+
{ error: 'components query parameter is required' },
13+
400,
14+
)
15+
}
1216

13-
return new Response(JSON.stringify(propsData))
17+
try {
18+
const props = await fetchProps(url)
19+
const propsData = components
20+
.split(',')
21+
.map((component) => props[component.trim()])
22+
23+
return createJsonResponse(propsData)
24+
} catch (error) {
25+
const details = error instanceof Error ? error.message : String(error)
26+
return createJsonResponse(
27+
{ error: 'Failed to load props data', details },
28+
500,
29+
)
30+
}
1431
}

0 commit comments

Comments
 (0)