UNPKG

@fly/edge

Version:
47 lines 5.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateBackend = exports.buildBackend = void 0; /** @module Config */ const backends = require("../backends"); // type FactoryDefinition = [ProxyFactory, (options: any) => boolean]; const factories = new Map([ ["origin", backends.origin], ["github_pages", backends.githubPages], ["heroku", backends.heroku], ["ghost_pro", backends.ghostProBlog], ["glitch", backends.glitch], ["squarespace", backends.squarespace], ["aws_s3", backends.awsS3], ["surge", backends.surge], ["zeit-now", backends.zeitNow], ["aerobatic", backends.aerobatic], ["gitlab_pages", backends.gitlabPages], ["firebase", backends.firebase], ]); function getFactory(type) { const def = factories.get(type); if (!def) { throw new Error(`Unknown backend type '${type}'`); } return def; } function buildBackend(config) { try { const factory = getFactory(config.type); return factory(config); } catch (err) { console.error("Exception building backend:", err, config); const backendError = async (..._) => new Response(err.toString(), { status: 500 }); return Object.assign(backendError, { proxyConfig: config }); } } exports.buildBackend = buildBackend; function validateBackend(config) { const factory = getFactory(config.type); if (factory.normalizeOptions) { factory.normalizeOptions(config); } } exports.validateBackend = validateBackend; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2JhY2tlbmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFCQUFxQjtBQUNyQix3Q0FBd0M7QUFNeEMsdUVBQXVFO0FBRXZFLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxDQUF1QjtJQUM5QyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDdEMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDO0lBQ3BDLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzFCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDekIsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM5QixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQ2pDLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDdEMsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQztDQUNoQyxDQUFDLENBQUM7QUFFSCxTQUFTLFVBQVUsQ0FBQyxJQUFZO0lBQzlCLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksR0FBRyxDQUFDLENBQUM7S0FDbkQ7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFnQixZQUFZLENBQUMsTUFBa0I7SUFDN0MsSUFBRztRQUNELE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDeEI7SUFBQSxPQUFNLEdBQUcsRUFBQztRQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3pELE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxHQUFHLENBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFFLENBQUE7UUFDMUYsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUMsQ0FBRSxDQUFBO0tBQzVEO0FBQ0gsQ0FBQztBQVRELG9DQVNDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLE1BQWtCO0lBQ2hELE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7UUFDNUIsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2xDO0FBQ0gsQ0FBQztBQUxELDBDQUtDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQ29uZmlnICovXG5pbXBvcnQgKiBhcyBiYWNrZW5kcyBmcm9tIFwiLi4vYmFja2VuZHNcIjtcbmltcG9ydCB7IFByb3h5RnVuY3Rpb24sIFByb3h5RmFjdG9yeSB9IGZyb20gXCIuLi9wcm94eVwiO1xuaW1wb3J0IHsgSXRlbUNvbmZpZyB9IGZyb20gXCIuL2luZGV4XCI7XG5cbmV4cG9ydCB0eXBlIEJhY2tlbmRNYXAgPSBNYXA8c3RyaW5nLCBQcm94eUZhY3Rvcnk+O1xuXG4vLyB0eXBlIEZhY3RvcnlEZWZpbml0aW9uID0gIFtQcm94eUZhY3RvcnksIChvcHRpb25zOiBhbnkpID0+IGJvb2xlYW5dO1xuXG5jb25zdCBmYWN0b3JpZXMgPSBuZXcgTWFwPHN0cmluZywgUHJveHlGYWN0b3J5PihbXG4gIFtcIm9yaWdpblwiLCBiYWNrZW5kcy5vcmlnaW5dLFxuICBbXCJnaXRodWJfcGFnZXNcIiwgYmFja2VuZHMuZ2l0aHViUGFnZXNdLFxuICBbXCJoZXJva3VcIiwgYmFja2VuZHMuaGVyb2t1XSxcbiAgW1wiZ2hvc3RfcHJvXCIsIGJhY2tlbmRzLmdob3N0UHJvQmxvZ10sXG4gIFtcImdsaXRjaFwiLCBiYWNrZW5kcy5nbGl0Y2hdLFxuICBbXCJzcXVhcmVzcGFjZVwiLCBiYWNrZW5kcy5zcXVhcmVzcGFjZV0sXG4gIFtcImF3c19zM1wiLCBiYWNrZW5kcy5hd3NTM10sXG4gIFtcInN1cmdlXCIsIGJhY2tlbmRzLnN1cmdlXSxcbiAgW1wiemVpdC1ub3dcIiwgYmFja2VuZHMuemVpdE5vd10sXG4gIFtcImFlcm9iYXRpY1wiLCBiYWNrZW5kcy5hZXJvYmF0aWNdLFxuICBbXCJnaXRsYWJfcGFnZXNcIiwgYmFja2VuZHMuZ2l0bGFiUGFnZXNdLFxuICBbXCJmaXJlYmFzZVwiLCBiYWNrZW5kcy5maXJlYmFzZV0sXG5dKTtcblxuZnVuY3Rpb24gZ2V0RmFjdG9yeSh0eXBlOiBzdHJpbmcpOiBQcm94eUZhY3Rvcnkge1xuICBjb25zdCBkZWYgPSBmYWN0b3JpZXMuZ2V0KHR5cGUpO1xuICBpZiAoIWRlZikge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBiYWNrZW5kIHR5cGUgJyR7dHlwZX0nYCk7XG4gIH1cbiAgcmV0dXJuIGRlZjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQmFja2VuZChjb25maWc6IEl0ZW1Db25maWcpOiBQcm94eUZ1bmN0aW9uPGFueT4ge1xuICB0cnl7XG4gICAgY29uc3QgZmFjdG9yeSA9IGdldEZhY3RvcnkoY29uZmlnLnR5cGUpO1xuICAgIHJldHVybiBmYWN0b3J5KGNvbmZpZyk7XG4gIH1jYXRjaChlcnIpe1xuICAgIGNvbnNvbGUuZXJyb3IoXCJFeGNlcHRpb24gYnVpbGRpbmcgYmFja2VuZDpcIiwgZXJyLCBjb25maWcpXG4gICAgY29uc3QgYmFja2VuZEVycm9yID0gYXN5bmMgKC4uLl86IGFueVtdKSA9PiBuZXcgUmVzcG9uc2UoZXJyLnRvU3RyaW5nKCksIHsgc3RhdHVzOiA1MDAgfSApXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYmFja2VuZEVycm9yLCB7IHByb3h5Q29uZmlnOiBjb25maWd9IClcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVCYWNrZW5kKGNvbmZpZzogSXRlbUNvbmZpZykge1xuICBjb25zdCBmYWN0b3J5ID0gZ2V0RmFjdG9yeShjb25maWcudHlwZSk7XG4gIGlmIChmYWN0b3J5Lm5vcm1hbGl6ZU9wdGlvbnMpIHtcbiAgICBmYWN0b3J5Lm5vcm1hbGl6ZU9wdGlvbnMoY29uZmlnKTtcbiAgfVxufVxuIl19