UNPKG

@fly/edge

Version:
36 lines 3.65 kB
"use strict"; /** * @module Backends */ Object.defineProperty(exports, "__esModule", { value: true }); exports.zeitNow = void 0; const proxy_1 = require("../proxy"); const subdomain_service_1 = require("./subdomain_service"); /** * Creates a `fetch` like function for proxying requests to hosted Zeit Now. * * Example: * ```typescript * import { zeitNow } from "./src/backends"; * const backend = zeitNow({ * subdomain: "nextjs-news-v2", * directory: "/", * hostname: "https://nextjs-news-v2.now.sh/" * }); * ``` * @param options zeitNow information. Accepts subdomain as a string. */ function zeitNow(options) { const config = subdomain_service_1.normalizeOptions(options); const zeitNowHost = `${config.subdomain}.now.sh`; const uri = `https://${zeitNowHost}${config.directory}`; const headers = { "host": zeitNowHost, "x-forwarded-host": config.hostname || false }; const fn = proxy_1.proxy(uri, { headers: headers, rewriteLocationHeaders: true }); return Object.assign(fn, { proxyConfig: config }); } exports.zeitNow = zeitNow; zeitNow.normalizeOptions = subdomain_service_1.normalizeOptions; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVpdC1ub3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZHMvemVpdC1ub3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFSCxvQ0FBZ0Q7QUFDaEQsMkRBQXlFO0FBRXpFOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxTQUFnQixPQUFPLENBQUMsT0FBa0M7SUFDeEQsTUFBTSxNQUFNLEdBQUcsb0NBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFekMsTUFBTSxXQUFXLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxTQUFTLENBQUE7SUFDaEQsTUFBTSxHQUFHLEdBQUcsV0FBVyxXQUFXLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQ3ZELE1BQU0sT0FBTyxHQUFHO1FBQ2QsTUFBTSxFQUFFLFdBQVc7UUFDbkIsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLFFBQVEsSUFBSSxLQUFLO0tBQzdDLENBQUE7SUFFRCxNQUFNLEVBQUUsR0FBRyxhQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ3pFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQTtBQUNsRCxDQUFDO0FBWkQsMEJBWUM7QUFFRCxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsb0NBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgQmFja2VuZHNcbiAqL1xuXG5pbXBvcnQgeyBwcm94eSwgUHJveHlGdW5jdGlvbiB9IGZyb20gXCIuLi9wcm94eVwiO1xuaW1wb3J0IHsgU3ViZG9tYWluT3B0aW9ucywgbm9ybWFsaXplT3B0aW9ucyB9IGZyb20gXCIuL3N1YmRvbWFpbl9zZXJ2aWNlXCI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGBmZXRjaGAgbGlrZSBmdW5jdGlvbiBmb3IgcHJveHlpbmcgcmVxdWVzdHMgdG8gaG9zdGVkIFplaXQgTm93LlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyB6ZWl0Tm93IH0gZnJvbSBcIi4vc3JjL2JhY2tlbmRzXCI7XG4gKiBjb25zdCBiYWNrZW5kID0gemVpdE5vdyh7XG4gKiAgc3ViZG9tYWluOiBcIm5leHRqcy1uZXdzLXYyXCIsXG4gKiAgZGlyZWN0b3J5OiBcIi9cIixcbiAqICBob3N0bmFtZTogXCJodHRwczovL25leHRqcy1uZXdzLXYyLm5vdy5zaC9cIiBcbiAqIH0pO1xuICogYGBgXG4gKiBAcGFyYW0gb3B0aW9ucyB6ZWl0Tm93IGluZm9ybWF0aW9uLiBBY2NlcHRzIHN1YmRvbWFpbiBhcyBhIHN0cmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHplaXROb3cob3B0aW9uczogU3ViZG9tYWluT3B0aW9ucyB8IHN0cmluZyk6IFByb3h5RnVuY3Rpb248U3ViZG9tYWluT3B0aW9ucz4ge1xuICBjb25zdCBjb25maWcgPSBub3JtYWxpemVPcHRpb25zKG9wdGlvbnMpO1xuXG4gIGNvbnN0IHplaXROb3dIb3N0ID0gYCR7Y29uZmlnLnN1YmRvbWFpbn0ubm93LnNoYFxuICBjb25zdCB1cmkgPSBgaHR0cHM6Ly8ke3plaXROb3dIb3N0fSR7Y29uZmlnLmRpcmVjdG9yeX1gXG4gIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgXCJob3N0XCI6IHplaXROb3dIb3N0LFxuICAgIFwieC1mb3J3YXJkZWQtaG9zdFwiOiBjb25maWcuaG9zdG5hbWUgfHwgZmFsc2VcbiAgfVxuXG4gIGNvbnN0IGZuID0gcHJveHkodXJpLCB7IGhlYWRlcnM6IGhlYWRlcnMsIHJld3JpdGVMb2NhdGlvbkhlYWRlcnM6IHRydWUgfSlcbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oZm4sIHsgcHJveHlDb25maWc6IGNvbmZpZ30pXG59XG5cbnplaXROb3cubm9ybWFsaXplT3B0aW9ucyA9IG5vcm1hbGl6ZU9wdGlvbnM7XG4iXX0=