UNPKG

4.02 kBSource Map (JSON)View Raw
1{"version":3,"file":"adapter.js","names":["getIp","config","get","req","ip","console","error","includes","adapter","path","baseURL","url","filter","Boolean","join","isAbsoluteExternalUrl","isClient","request","port","method","toUpperCase","body","data","headers","tryJSONparse","serverApp","app","module","webserver","expressResolve","res"],"sources":["../../src/ApiModule/adapter.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { isClient } from '@lskjs/env';\nimport isAbsoluteExternalUrl from '@lskjs/utils/isAbsoluteExternalUrl';\nimport tryJSONparse from '@lskjs/utils/tryJSONparse';\nimport get from 'lodash/get';\n\nfunction getIp(config) {\n // TODO: когда нибудь придумать как сделать получше @isuvorov\n const { req } = get(config, '__parent.__parent') || {};\n const ip = get(req, 'headers.x-forwarded-for') || get(req, 'socket.remoteAddress') || get(req, 'ip');\n if (!ip) {\n console.error('!!uapp.ApiModule.adapter.getIp', { ip }, req);\n return '127.0.0.1';\n }\n if (typeof ip === 'string' && ip.includes('127.0.0.1')) return '127.0.0.1';\n if (['127.0.0.1', '::ffff:127.0.0.1', '::1'].includes(ip)) return '127.0.0.1';\n return ip;\n}\n\nexport async function adapter(config) {\n // console.log('adapter FETCH START', config);\n const path = [config.baseURL, config.url].filter(Boolean).join('');\n if (isAbsoluteExternalUrl(path) || isClient) return this.request(config);\n // TODO: get port from backend\n const port = 8080; // this.app.app.httpInstance.address().port\n const url = `http://localhost:${port}${path}`;\n\n const method = config.method.toUpperCase();\n\n // const { body = {}, method = 'GET', qs = {} } = options;\n\n // config.headers.Authorization;\n const { data: body } = config;\n const req = {\n ip: getIp(config),\n url,\n path,\n method,\n headers: config.headers,\n };\n if (body) {\n req.body = req;\n req.data = tryJSONparse(body);\n }\n\n // console.log('adapter FETCH ', req);\n // console.log('this.app.name', this.app.name)\n const serverApp = this.app;\n const webserver = await serverApp.module('webserver');\n const res = await webserver.expressResolve(req);\n return {\n ...res,\n config,\n };\n}\n\nexport default adapter;\n"],"mappings":";;;;;;;;;;;AACA;AACA;AACA;AACA;AAA6B,+CAH7B;AAAA;AAAA;AAKA,SAASA,KAAK,CAACC,MAAM,EAAE;EACrB;EACA,WAAgB,IAAAC,eAAG,EAACD,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAA9CE,GAAG,QAAHA,GAAG;EACX,IAAMC,EAAE,GAAG,IAAAF,eAAG,EAACC,GAAG,EAAE,yBAAyB,CAAC,IAAI,IAAAD,eAAG,EAACC,GAAG,EAAE,sBAAsB,CAAC,IAAI,IAAAD,eAAG,EAACC,GAAG,EAAE,IAAI,CAAC;EACpG,IAAI,CAACC,EAAE,EAAE;IACPC,OAAO,CAACC,KAAK,CAAC,gCAAgC,EAAE;MAAEF,EAAE,EAAFA;IAAG,CAAC,EAAED,GAAG,CAAC;IAC5D,OAAO,WAAW;EACpB;EACA,IAAI,OAAOC,EAAE,KAAK,QAAQ,IAAIA,EAAE,CAACG,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,WAAW;EAC1E,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAACA,QAAQ,CAACH,EAAE,CAAC,EAAE,OAAO,WAAW;EAC7E,OAAOA,EAAE;AACX;AAAC,SAEqBI,OAAO;EAAA;AAAA;AAAA;EAAA,uFAAtB,iBAAuBP,MAAM;IAAA;IAAA;MAAA;QAAA;UAAA;YAClC;YACMQ,IAAI,GAAG,CAACR,MAAM,CAACS,OAAO,EAAET,MAAM,CAACU,GAAG,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;YAAA,MAC9D,IAAAC,iCAAqB,EAACN,IAAI,CAAC,IAAIO,aAAQ;cAAA;cAAA;YAAA;YAAA,iCAAS,IAAI,CAACC,OAAO,CAAChB,MAAM,CAAC;UAAA;YACxE;YACMiB,IAAI,GAAG,IAAI,EAAE;YACbP,GAAG,8BAAuBO,IAAI,SAAGT,IAAI;YAErCU,MAAM,GAAGlB,MAAM,CAACkB,MAAM,CAACC,WAAW,EAAE,EAE1C;YAEA;YACcC,IAAI,GAAKpB,MAAM,CAArBqB,IAAI;YACNnB,GAAG,GAAG;cACVC,EAAE,EAAEJ,KAAK,CAACC,MAAM,CAAC;cACjBU,GAAG,EAAHA,GAAG;cACHF,IAAI,EAAJA,IAAI;cACJU,MAAM,EAANA,MAAM;cACNI,OAAO,EAAEtB,MAAM,CAACsB;YAClB,CAAC;YACD,IAAIF,IAAI,EAAE;cACRlB,GAAG,CAACkB,IAAI,GAAGlB,GAAG;cACdA,GAAG,CAACmB,IAAI,GAAG,IAAAE,wBAAY,EAACH,IAAI,CAAC;YAC/B;;YAEA;YACA;YACMI,SAAS,GAAG,IAAI,CAACC,GAAG;YAAA;YAAA,OACFD,SAAS,CAACE,MAAM,CAAC,WAAW,CAAC;UAAA;YAA/CC,SAAS;YAAA;YAAA,OACGA,SAAS,CAACC,cAAc,CAAC1B,GAAG,CAAC;UAAA;YAAzC2B,GAAG;YAAA,iEAEJA,GAAG;cACN7B,MAAM,EAANA;YAAM;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAET;EAAA;AAAA;AAAA,eAEcO,OAAO;AAAA"}
\No newline at end of file