UNPKG

@fly/edge

Version:
39 lines 3.85 kB
"use strict"; /** * @module Backends */ Object.defineProperty(exports, "__esModule", { value: true }); exports.glitch = void 0; const proxy_1 = require("../proxy"); const subdomain_service_1 = require("./subdomain_service"); const normalizeOptions = subdomain_service_1.optionNormalizer({ hostname: false, subdomain: "appName" }); /** * Creates a `fetch` like function for proxying requests to Glitch apps. * * Example: * ```typescript * import { glitch } from "./src/backends"; * * const backend = glitch({ * appName: "fly-example" * }) * ``` * * @param options Glitch app information. Accepts `appName` as a string. */ function glitch(options) { const config = normalizeOptions(options); if (config.hostname) { delete config.hostname; } const glitchHost = `${config.subdomain}.glitch.me`; const uri = `https://${glitchHost}`; const headers = { "host": glitchHost }; const fn = proxy_1.proxy(uri, { headers: headers }); return Object.assign(fn, { proxyConfig: config }); } exports.glitch = glitch; glitch.normalizeOptions = normalizeOptions; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xpdGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tlbmRzL2dsaXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILG9DQUFnRDtBQUNoRCwyREFBeUU7QUFXekUsTUFBTSxnQkFBZ0IsR0FBRyxvQ0FBZ0IsQ0FBQyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUE7QUFFbEY7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILFNBQWdCLE1BQU0sQ0FBQyxPQUErQjtJQUNwRCxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxJQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUM7UUFDakIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFBO0tBQ3ZCO0lBRUQsTUFBTSxVQUFVLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxZQUFZLENBQUE7SUFDbEQsTUFBTSxHQUFHLEdBQUcsV0FBVyxVQUFVLEVBQUUsQ0FBQTtJQUNuQyxNQUFNLE9BQU8sR0FBRztRQUNkLE1BQU0sRUFBRSxVQUFVO0tBQ25CLENBQUE7SUFFRCxNQUFNLEVBQUUsR0FBRyxhQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDM0MsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFBO0FBQ2xELENBQUM7QUFkRCx3QkFjQztBQUVELE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBCYWNrZW5kc1xuICovXG5cbmltcG9ydCB7IHByb3h5LCBQcm94eUZ1bmN0aW9uIH0gZnJvbSBcIi4uL3Byb3h5XCI7XG5pbXBvcnQgeyBTdWJkb21haW5PcHRpb25zLCBvcHRpb25Ob3JtYWxpemVyIH0gZnJvbSBcIi4vc3ViZG9tYWluX3NlcnZpY2VcIjtcbiBcbi8qKlxuICogR2xpdGNoIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2xpdGNoT3B0aW9ucyB7XG4gIC8qKiBHbGl0Y2ggYXBwbGljYXRpb24gbmFtZTogPGFwcE5hbWU+LmdsaXRjaC5tZSAqL1xuICBhcHBOYW1lOiBzdHJpbmdcbn1cblxuXG5jb25zdCBub3JtYWxpemVPcHRpb25zID0gb3B0aW9uTm9ybWFsaXplcih7aG9zdG5hbWU6IGZhbHNlLCBzdWJkb21haW46IFwiYXBwTmFtZVwifSlcblxuLyoqXG4gKiBDcmVhdGVzIGEgYGZldGNoYCBsaWtlIGZ1bmN0aW9uIGZvciBwcm94eWluZyByZXF1ZXN0cyB0byBHbGl0Y2ggYXBwcy5cbiAqIFxuICogRXhhbXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IGdsaXRjaCB9IGZyb20gXCIuL3NyYy9iYWNrZW5kc1wiO1xuICogXG4gKiBjb25zdCBiYWNrZW5kID0gZ2xpdGNoKHtcbiAqICBhcHBOYW1lOiBcImZseS1leGFtcGxlXCJcbiAqIH0pXG4gKiBgYGBcbiAqIFxuICogQHBhcmFtIG9wdGlvbnMgR2xpdGNoIGFwcCBpbmZvcm1hdGlvbi4gQWNjZXB0cyBgYXBwTmFtZWAgYXMgYSBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnbGl0Y2gob3B0aW9uczogR2xpdGNoT3B0aW9ucyB8IHN0cmluZyk6IFByb3h5RnVuY3Rpb248U3ViZG9tYWluT3B0aW9ucz4ge1xuICBjb25zdCBjb25maWcgPSBub3JtYWxpemVPcHRpb25zKG9wdGlvbnMpO1xuICBpZihjb25maWcuaG9zdG5hbWUpe1xuICAgIGRlbGV0ZSBjb25maWcuaG9zdG5hbWVcbiAgfVxuXG4gIGNvbnN0IGdsaXRjaEhvc3QgPSBgJHtjb25maWcuc3ViZG9tYWlufS5nbGl0Y2gubWVgXG4gIGNvbnN0IHVyaSA9IGBodHRwczovLyR7Z2xpdGNoSG9zdH1gXG4gIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgXCJob3N0XCI6IGdsaXRjaEhvc3RcbiAgfVxuXG4gIGNvbnN0IGZuID0gcHJveHkodXJpLCB7IGhlYWRlcnM6IGhlYWRlcnMgfSlcbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oZm4sIHsgcHJveHlDb25maWc6IGNvbmZpZ30pXG59XG5cbmdsaXRjaC5ub3JtYWxpemVPcHRpb25zID0gbm9ybWFsaXplT3B0aW9ucztcbiJdfQ==