UNPKG

@fal-ai/server-proxy

Version:

The fal.ai server proxy adapter for JavaScript and TypeScript Web frameworks

48 lines 1.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRequestHandler = void 0; const config_1 = require("./config"); const index_1 = require("./index"); /** * Creates the SvelteKit request handler for the fal.ai client proxy on App Router apps. * The passed credentials will be used to authenticate the request, if not provided the * environment variable `FAL_KEY` will be used. * * @param params the request handler parameters. * @returns the SvelteKit request handler. */ const createRequestHandler = ({ credentials, ...config } = {}) => { const resolveApiKey = credentials ? () => Promise.resolve(credentials) : index_1.resolveApiKeyFromEnv; const resolvedConfig = (0, config_1.resolveProxyConfig)(config); const handler = async ({ request }) => { const responseHeaders = new Headers({ "Content-Type": "application/json", }); return await (0, index_1.handleRequest)({ id: "svelte-app-router", method: request.method, getRequestBody: async () => request.text(), getHeaders: () => (0, index_1.fromHeaders)(request.headers), getHeader: (name) => request.headers.get(name), sendHeader: (name, value) => (responseHeaders[name] = value), resolveApiKey, respondWith: (status, data) => new Response(JSON.stringify(data), { status, headers: responseHeaders, }), sendResponse: async (res) => { return new Response(res.body, res); }, }, resolvedConfig); }; return { requestHandler: handler, GET: handler, POST: handler, PUT: handler, }; }; exports.createRequestHandler = createRequestHandler; //# sourceMappingURL=svelte.js.map