import { createHandler as createRawHandler, } from '../../handler.mjs'; /** * Create a GraphQL over HTTP spec compliant request handler for netlify functions * * @category Server/@netlify/functions */ export function createHandler(options) { const handler = createRawHandler(options); return async function handleRequest(req, ctx) { try { const [body, init] = await handler({ method: req.httpMethod, url: req.rawUrl, headers: req.headers, body: req.body, raw: req, context: ctx, }); return { // if body is null, return undefined body: body !== null && body !== void 0 ? body : undefined, statusCode: init.status, }; } catch (err) { // The handler shouldnt throw errors. // If you wish to handle them differently, consider implementing your own request handler. console.error('Internal error occurred during request handling. ' + 'Please check your implementation.', err); return { statusCode: 500 }; } }; }