UNPKG

@fly/edge

Version:
34 lines 3.4 kB
"use strict"; /** * @module Backends */ Object.defineProperty(exports, "__esModule", { value: true }); exports.netlify = void 0; const proxy_1 = require("../proxy"); const subdomain_service_1 = require("./subdomain_service"); /** * Creates a `fetch` like function for proxying requests to hosted Netlify sites. * * Example: * ```typescript * import { netlify } from "./src/backends"; * const backend = netlify({ * subdomain: "example" * }); * ``` * @param options Netlify site information. Accepts subdomain as a string. */ function netlify(options) { const config = subdomain_service_1.normalizeOptions(options); const netlifyHost = `${config.subdomain}.netlify.app`; const uri = `https://${netlifyHost}${config.directory}`; const headers = { "host": netlifyHost, "x-forwarded-host": config.hostname || false }; const fn = proxy_1.proxy(uri, { headers: headers }); return Object.assign(fn, { proxyConfig: config }); } exports.netlify = netlify; netlify.normalizeOptions = subdomain_service_1.normalizeOptions; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0bGlmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWNrZW5kcy9uZXRsaWZ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBRUgsb0NBQWdEO0FBQ2hELDJEQUF5RTtBQUV6RTs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQWdCLE9BQU8sQ0FBQyxPQUFrQztJQUN4RCxNQUFNLE1BQU0sR0FBRyxvQ0FBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxNQUFNLFdBQVcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLGNBQWMsQ0FBQTtJQUNyRCxNQUFNLEdBQUcsR0FBRyxXQUFXLFdBQVcsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDdkQsTUFBTSxPQUFPLEdBQUc7UUFDZCxNQUFNLEVBQUUsV0FBVztRQUNuQixrQkFBa0IsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLEtBQUs7S0FDN0MsQ0FBQTtJQUVELE1BQU0sRUFBRSxHQUFHLGFBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMzQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUE7QUFDbEQsQ0FBQztBQVpELDBCQVlDO0FBRUQsT0FBTyxDQUFDLGdCQUFnQixHQUFHLG9DQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIEJhY2tlbmRzXG4gKi9cblxuaW1wb3J0IHsgcHJveHksIFByb3h5RnVuY3Rpb24gfSBmcm9tIFwiLi4vcHJveHlcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZU9wdGlvbnMsIFN1YmRvbWFpbk9wdGlvbnMgfSBmcm9tIFwiLi9zdWJkb21haW5fc2VydmljZVwiO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBgZmV0Y2hgIGxpa2UgZnVuY3Rpb24gZm9yIHByb3h5aW5nIHJlcXVlc3RzIHRvIGhvc3RlZCBOZXRsaWZ5IHNpdGVzLlxuICogXG4gKiBFeGFtcGxlOlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgbmV0bGlmeSB9IGZyb20gXCIuL3NyYy9iYWNrZW5kc1wiO1xuICogY29uc3QgYmFja2VuZCA9IG5ldGxpZnkoe1xuICogIHN1YmRvbWFpbjogXCJleGFtcGxlXCJcbiAqIH0pO1xuICogYGBgXG4gKiBAcGFyYW0gb3B0aW9ucyBOZXRsaWZ5IHNpdGUgaW5mb3JtYXRpb24uIEFjY2VwdHMgc3ViZG9tYWluIGFzIGEgc3RyaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbmV0bGlmeShvcHRpb25zOiBTdWJkb21haW5PcHRpb25zIHwgc3RyaW5nKTogUHJveHlGdW5jdGlvbjxTdWJkb21haW5PcHRpb25zPiB7XG4gIGNvbnN0IGNvbmZpZyA9IG5vcm1hbGl6ZU9wdGlvbnMob3B0aW9ucyk7XG5cbiAgY29uc3QgbmV0bGlmeUhvc3QgPSBgJHtjb25maWcuc3ViZG9tYWlufS5uZXRsaWZ5LmFwcGAgXG4gIGNvbnN0IHVyaSA9IGBodHRwczovLyR7bmV0bGlmeUhvc3R9JHtjb25maWcuZGlyZWN0b3J5fWBcbiAgY29uc3QgaGVhZGVycyA9IHtcbiAgICBcImhvc3RcIjogbmV0bGlmeUhvc3QsXG4gICAgXCJ4LWZvcndhcmRlZC1ob3N0XCI6IGNvbmZpZy5ob3N0bmFtZSB8fCBmYWxzZVxuICB9XG5cbiAgY29uc3QgZm4gPSBwcm94eSh1cmksIHsgaGVhZGVyczogaGVhZGVycyB9KVxuICByZXR1cm4gT2JqZWN0LmFzc2lnbihmbiwgeyBwcm94eUNvbmZpZzogY29uZmlnfSlcbn1cblxubmV0bGlmeS5ub3JtYWxpemVPcHRpb25zID0gbm9ybWFsaXplT3B0aW9ucztcbiJdfQ==