UNPKG

@fly/edge

Version:
36 lines 3.55 kB
"use strict"; /** * @module Backends */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ghostProBlog = void 0; const proxy_1 = require("../proxy"); const subdomain_service_1 = require("./subdomain_service"); /** * Creates a `fetch` like function for proxying requests to hosted Ghost Pro blogs. * * Example: * ```typescript * import { ghost } from "./src/backends"; * const backend = ghost({ * subdomain: "fly-io", * directory: "/articles/", * hostname: "fly.io" * }); * ``` * @param options Ghost Pro blog information. Accepts subdomain as a string. */ function ghostProBlog(options) { const config = subdomain_service_1.normalizeOptions(options); const ghostHost = `${config.subdomain}.ghost.io`; const uri = `https://${ghostHost}${config.directory}`; const headers = { "host": ghostHost, "x-forwarded-host": config.hostname || false }; const fn = proxy_1.proxy(uri, { headers: headers }); return Object.assign(fn, { proxyConfig: config }); } exports.ghostProBlog = ghostProBlog; ghostProBlog.normalizeOptions = subdomain_service_1.normalizeOptions; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hvc3RfcHJvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tlbmRzL2dob3N0X3Byby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILG9DQUFnRDtBQUNoRCwyREFBeUU7QUFFekU7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILFNBQWdCLFlBQVksQ0FBQyxPQUFrQztJQUM3RCxNQUFNLE1BQU0sR0FBRyxvQ0FBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxNQUFNLFNBQVMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLFdBQVcsQ0FBQTtJQUNoRCxNQUFNLEdBQUcsR0FBRyxXQUFXLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDckQsTUFBTSxPQUFPLEdBQUc7UUFDZCxNQUFNLEVBQUUsU0FBUztRQUNqQixrQkFBa0IsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLEtBQUs7S0FDN0MsQ0FBQTtJQUVELE1BQU0sRUFBRSxHQUFHLGFBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMzQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUE7QUFDbEQsQ0FBQztBQVpELG9DQVlDO0FBRUQsWUFBWSxDQUFDLGdCQUFnQixHQUFHLG9DQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIEJhY2tlbmRzXG4gKi9cblxuaW1wb3J0IHsgcHJveHksIFByb3h5RnVuY3Rpb24gfSBmcm9tIFwiLi4vcHJveHlcIjtcbmltcG9ydCB7IFN1YmRvbWFpbk9wdGlvbnMsIG5vcm1hbGl6ZU9wdGlvbnMgfSBmcm9tIFwiLi9zdWJkb21haW5fc2VydmljZVwiO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBgZmV0Y2hgIGxpa2UgZnVuY3Rpb24gZm9yIHByb3h5aW5nIHJlcXVlc3RzIHRvIGhvc3RlZCBHaG9zdCBQcm8gYmxvZ3MuXG4gKiBcbiAqIEV4YW1wbGU6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBnaG9zdCB9IGZyb20gXCIuL3NyYy9iYWNrZW5kc1wiO1xuICogY29uc3QgYmFja2VuZCA9IGdob3N0KHtcbiAqICBzdWJkb21haW46IFwiZmx5LWlvXCIsXG4gKiAgZGlyZWN0b3J5OiBcIi9hcnRpY2xlcy9cIixcbiAqICBob3N0bmFtZTogXCJmbHkuaW9cIlxuICogfSk7XG4gKiBgYGBcbiAqIEBwYXJhbSBvcHRpb25zIEdob3N0IFBybyBibG9nIGluZm9ybWF0aW9uLiBBY2NlcHRzIHN1YmRvbWFpbiBhcyBhIHN0cmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdob3N0UHJvQmxvZyhvcHRpb25zOiBTdWJkb21haW5PcHRpb25zIHwgc3RyaW5nKTogUHJveHlGdW5jdGlvbjxTdWJkb21haW5PcHRpb25zPiB7XG4gIGNvbnN0IGNvbmZpZyA9IG5vcm1hbGl6ZU9wdGlvbnMob3B0aW9ucyk7XG5cbiAgY29uc3QgZ2hvc3RIb3N0ID0gYCR7Y29uZmlnLnN1YmRvbWFpbn0uZ2hvc3QuaW9gXG4gIGNvbnN0IHVyaSA9IGBodHRwczovLyR7Z2hvc3RIb3N0fSR7Y29uZmlnLmRpcmVjdG9yeX1gXG4gIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgXCJob3N0XCI6IGdob3N0SG9zdCxcbiAgICBcIngtZm9yd2FyZGVkLWhvc3RcIjogY29uZmlnLmhvc3RuYW1lIHx8IGZhbHNlXG4gIH1cblxuICBjb25zdCBmbiA9IHByb3h5KHVyaSwgeyBoZWFkZXJzOiBoZWFkZXJzIH0pXG4gIHJldHVybiBPYmplY3QuYXNzaWduKGZuLCB7IHByb3h5Q29uZmlnOiBjb25maWd9KVxufVxuXG5naG9zdFByb0Jsb2cubm9ybWFsaXplT3B0aW9ucyA9IG5vcm1hbGl6ZU9wdGlvbnM7XG4iXX0=