UNPKG

bridgets

Version:

<p align="center"> <a href="https://bridgets.co"> <img src="http://bridgets.co/assets/logo-short.svg" height="48" /> <h1 align="center">BridgeTS</h1> </a> </p>

58 lines 2.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createHttpHandler = void 0; const fetchSDK_1 = require("./fetchSDK"); const HttpTransformers_1 = require("./HttpTransformers"); const Routes_1 = require("../Routes"); const Compiler_1 = require("../Compiler"); const createHttpHandler = (routes, onError) => { let path; let queryString; const serverRoutes = (0, Routes_1.createRoutes)(routes); // After compiling, it quits if (process.argv.includes('-compileBridgeSDK')) (0, Compiler_1.compile)(routes); return async (req, res) => { let body = {}; let file = {}; const query = (0, HttpTransformers_1.getJSONQueryFromURL)(req.url || ''); try { [path, queryString] = (req.url || '/').split('?'); if (path === '/fetchBridgeSDK') return (0, fetchSDK_1.fetchSdkRoute)(req, res); const route = serverRoutes[path] || serverRoutes['not-found']; if (route.filesConfig) file = await (0, HttpTransformers_1.formidableAsyncParseFiles)(req); else body = await (0, HttpTransformers_1.getJSONDataFromRequestStream)(req); const mid = {}; const result = await route.endpoint.handle({ body, file, query, headers: req.headers, method: req.method || 'POST', mid, }); if (result.error) { onError?.({ error: result.error, path: path }); return res .writeHead(result.error.status || 500, { 'Content-Type': 'application/json' }) .end(JSON.stringify({ error: result.error })); } return res .writeHead(200, { 'Content-Type': typeof result === 'object' ? 'application/json' : 'text/plain', }) .end(typeof result === 'object' ? JSON.stringify(result) : result); } catch (err) { onError?.({ error: { status: 500, name: 'Internal server error', data: err }, path: path }); return res .writeHead(500, { 'Content-Type': 'application/json' }) .end(JSON.stringify({ status: 500, name: 'Internal server error' })); } }; }; exports.createHttpHandler = createHttpHandler; //# sourceMappingURL=standalone.js.map