@fly/edge
Version:
Fly's TypeScript Edge
34 lines • 3.46 kB
JavaScript
;
/**
* @module Backends
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.aerobatic = void 0;
const proxy_1 = require("../proxy");
const subdomain_service_1 = require("./subdomain_service");
/**
* Creates a `fetch` like function for proxying requests to hosted Aerobatic sites.
*
* Example:
* ```typescript
* import { aerobatic } from "./src/backends";
* const backend = aerobatic({
* subdomain: "sample"
* });
* ```
* @param options Aerobatic site information. Accepts subdomain as a string.
*/
function aerobatic(options) {
const config = subdomain_service_1.normalizeOptions(options);
const aerobaticHost = `${config.subdomain}.aerobaticapp.com`;
const uri = `https://${aerobaticHost}${config.directory}`;
const headers = {
"host": aerobaticHost,
"x-forwarded-host": config.hostname || false
};
const fn = proxy_1.proxy(uri, { headers: headers });
return Object.assign(fn, { proxyConfig: config });
}
exports.aerobatic = aerobatic;
aerobatic.normalizeOptions = subdomain_service_1.normalizeOptions;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWVyb2JhdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tlbmRzL2Flcm9iYXRpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILG9DQUFnRDtBQUNoRCwyREFBeUU7QUFFekU7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQixTQUFTLENBQUMsT0FBa0M7SUFDMUQsTUFBTSxNQUFNLEdBQUcsb0NBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFekMsTUFBTSxhQUFhLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxtQkFBbUIsQ0FBQTtJQUM1RCxNQUFNLEdBQUcsR0FBRyxXQUFXLGFBQWEsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDekQsTUFBTSxPQUFPLEdBQUc7UUFDZCxNQUFNLEVBQUUsYUFBYTtRQUNyQixrQkFBa0IsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLEtBQUs7S0FDN0MsQ0FBQTtJQUVELE1BQU0sRUFBRSxHQUFHLGFBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMzQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUE7QUFDbEQsQ0FBQztBQVpELDhCQVlDO0FBRUQsU0FBUyxDQUFDLGdCQUFnQixHQUFHLG9DQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIEJhY2tlbmRzXG4gKi9cblxuaW1wb3J0IHsgcHJveHksIFByb3h5RnVuY3Rpb24gfSBmcm9tIFwiLi4vcHJveHlcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZU9wdGlvbnMsIFN1YmRvbWFpbk9wdGlvbnMgfSBmcm9tIFwiLi9zdWJkb21haW5fc2VydmljZVwiO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBgZmV0Y2hgIGxpa2UgZnVuY3Rpb24gZm9yIHByb3h5aW5nIHJlcXVlc3RzIHRvIGhvc3RlZCBBZXJvYmF0aWMgc2l0ZXMuXG4gKiBcbiAqIEV4YW1wbGU6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBhZXJvYmF0aWMgfSBmcm9tIFwiLi9zcmMvYmFja2VuZHNcIjtcbiAqIGNvbnN0IGJhY2tlbmQgPSBhZXJvYmF0aWMoe1xuICogIHN1YmRvbWFpbjogXCJzYW1wbGVcIlxuICogfSk7XG4gKiBgYGBcbiAqIEBwYXJhbSBvcHRpb25zIEFlcm9iYXRpYyBzaXRlIGluZm9ybWF0aW9uLiBBY2NlcHRzIHN1YmRvbWFpbiBhcyBhIHN0cmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFlcm9iYXRpYyhvcHRpb25zOiBTdWJkb21haW5PcHRpb25zIHwgc3RyaW5nKTogUHJveHlGdW5jdGlvbjxTdWJkb21haW5PcHRpb25zPiB7XG4gIGNvbnN0IGNvbmZpZyA9IG5vcm1hbGl6ZU9wdGlvbnMob3B0aW9ucyk7XG5cbiAgY29uc3QgYWVyb2JhdGljSG9zdCA9IGAke2NvbmZpZy5zdWJkb21haW59LmFlcm9iYXRpY2FwcC5jb21gIFxuICBjb25zdCB1cmkgPSBgaHR0cHM6Ly8ke2Flcm9iYXRpY0hvc3R9JHtjb25maWcuZGlyZWN0b3J5fWBcbiAgY29uc3QgaGVhZGVycyA9IHtcbiAgICBcImhvc3RcIjogYWVyb2JhdGljSG9zdCxcbiAgICBcIngtZm9yd2FyZGVkLWhvc3RcIjogY29uZmlnLmhvc3RuYW1lIHx8IGZhbHNlXG4gIH1cblxuICBjb25zdCBmbiA9IHByb3h5KHVyaSwgeyBoZWFkZXJzOiBoZWFkZXJzIH0pXG4gIHJldHVybiBPYmplY3QuYXNzaWduKGZuLCB7IHByb3h5Q29uZmlnOiBjb25maWd9KVxufVxuXG5hZXJvYmF0aWMubm9ybWFsaXplT3B0aW9ucyA9IG5vcm1hbGl6ZU9wdGlvbnM7XG4iXX0=