better error handling
This commit is contained in:
parent
9ff25a4e61
commit
56e84a2a3a
|
@ -6,7 +6,14 @@ export default defineEventHandler(async (event) => {
|
|||
|
||||
// parse destination URL
|
||||
const destination = getQuery<{ destination?: string }>(event).destination;
|
||||
if (!destination) throw new Error('invalid destination');
|
||||
if (!destination)
|
||||
return sendJson({
|
||||
event,
|
||||
status: 400,
|
||||
data: {
|
||||
error: 'destination query parameter invalid',
|
||||
},
|
||||
});
|
||||
|
||||
// proxy
|
||||
await proxyRequest(event, destination, {
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
import { H3Event, EventHandlerRequest } from 'h3';
|
||||
|
||||
export function sendJson(ops: {
|
||||
event: H3Event<EventHandlerRequest>;
|
||||
data: Record<string, any>;
|
||||
status?: number;
|
||||
}) {
|
||||
setResponseStatus(ops.event, ops.status ?? 200);
|
||||
appendResponseHeader(ops.event, 'content-type', 'application/json');
|
||||
send(ops.event, JSON.stringify(ops.data, null, 2));
|
||||
}
|
Loading…
Reference in New Issue