@fal-ai/server-proxy
Version:
The fal.ai server proxy adapter for JavaScript and TypeScript Web frameworks
48 lines • 1.86 kB
JavaScript
;
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