UNPKG

@vtex/service-filters

Version:
30 lines (29 loc) 1.21 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.forwardToService = exports.setRequestBody = void 0; const co_body_1 = require("co-body"); const koa_better_http_proxy_1 = __importDefault(require("koa-better-http-proxy")); const removeAnAndWks = (ctx) => ctx.request.path .replace(`/${ctx.vtex.account}`, '') .replace(`/${ctx.vtex.workspace}`, ''); async function setRequestBody(ctx, next) { const context = ctx; context.request.body = await co_body_1.json(ctx.req); await next(); } exports.setRequestBody = setRequestBody; async function forwardToService(ctx, next) { var _a; const host = `http://${ctx.vtex.workspace}--${ctx.vtex.account}.${(_a = process.env.VTEX_PUBLIC_ENDPOINT) !== null && _a !== void 0 ? _a : 'myvtex.com'}`; const forwardTo = koa_better_http_proxy_1.default(host, { proxyReqPathResolver: removeAnAndWks, headers: { 'Proxy-Authorization': ctx.vtex.authToken, }, }); await forwardTo(ctx, next); } exports.forwardToService = forwardToService;