reqover
Version:
Reqover is language agnostic tool that gives a picture about coverage of APIs based on Open API (Swagger).
1 lines • 3.73 kB
JavaScript
function a3_0x2e7a(){const _0x2e5fa4=['existsSync','statusCode','pathname','32PoTaHg','26192AFXpSa','Starting\x20Proxy\x20at\x20','1432IfRhlv','65yStArS','Content-Type','Content-Length','originalUrl','writeFileSync','byteLength','uuid','49446gEseBd','.json','Result:\x20','6741708omUWOM','749125CcZhjV','write','stringify','entries','http-proxy-middleware','body','express','330ffgcgl','split','application/x-www-form-urlencoded','is-url','2565927KYxNaj','map','389795YUNbqC','getHeader','0.0.0.0','join','559229MYQKJQ','setHeader','use','mkdirSync'];a3_0x2e7a=function(){return _0x2e5fa4;};return a3_0x2e7a();}const a3_0x2d11bf=a3_0x5572;(function(_0x4e2a35,_0x2d7215){const _0x6bb614=a3_0x5572,_0x5708c2=_0x4e2a35();while(!![]){try{const _0x222988=-parseInt(_0x6bb614(0x1f5))/0x1*(parseInt(_0x6bb614(0x1f2))/0x2)+parseInt(_0x6bb614(0x1e4))/0x3+-parseInt(_0x6bb614(0x1f1))/0x4*(parseInt(_0x6bb614(0x1d9))/0x5)+parseInt(_0x6bb614(0x1d8))/0x6+parseInt(_0x6bb614(0x1e6))/0x7+parseInt(_0x6bb614(0x1f4))/0x8*(-parseInt(_0x6bb614(0x1d5))/0x9)+-parseInt(_0x6bb614(0x1e0))/0xa*(-parseInt(_0x6bb614(0x1ea))/0xb);if(_0x222988===_0x2d7215)break;else _0x5708c2['push'](_0x5708c2['shift']());}catch(_0x414b51){_0x5708c2['push'](_0x5708c2['shift']());}}}(a3_0x2e7a,0xa5c79));function a3_0x5572(_0x3deb81,_0x45bf96){const _0x2e7a2f=a3_0x2e7a();return a3_0x5572=function(_0x55728d,_0x48b0c6){_0x55728d=_0x55728d-0x1cf;let _0x4e0bd3=_0x2e7a2f[_0x55728d];return _0x4e0bd3;},a3_0x5572(_0x3deb81,_0x45bf96);}const express=require(a3_0x2d11bf(0x1df)),{createProxyMiddleware}=require(a3_0x2d11bf(0x1dd)),isUrl=require(a3_0x2d11bf(0x1e3)),{v4}=require(a3_0x2d11bf(0x1d4)),fs=require('fs'),path=require('path'),HOST=a3_0x2d11bf(0x1e8);function record(_0x1d0871,_0x1d42b6){const _0x5338dc=a3_0x2d11bf,_0x141bc9=express();_0x141bc9[_0x5338dc(0x1ec)]('/',createProxyMiddleware({'target':_0x1d42b6,'secure':![],'changeOrigin':!![],'pathRewrite':{['^/']:''},'onProxyReq':proxyReq,'onProxyRes':proxyRes})),_0x141bc9['listen'](_0x1d0871,HOST,()=>{const _0x19b6cb=_0x5338dc;console['log'](_0x19b6cb(0x1f3)+HOST+':'+_0x1d0871);});}const proxyReq=(_0xa56d2a,_0x41e969)=>{const _0x149908=a3_0x2d11bf;if(!_0x41e969[_0x149908(0x1de)])return;const _0x4c4888=_0xa56d2a[_0x149908(0x1e7)](_0x149908(0x1cf)),_0x23a8ae=_0x40f117=>{const _0x49ce20=_0x149908;_0xa56d2a[_0x49ce20(0x1eb)](_0x49ce20(0x1d0),Buffer[_0x49ce20(0x1d3)](_0x40f117)),_0xa56d2a[_0x49ce20(0x1da)](_0x40f117);};_0x4c4888==='application/json'&&_0x23a8ae(JSON[_0x149908(0x1db)](_0x41e969[_0x149908(0x1de)])),_0x4c4888===_0x149908(0x1e2)&&_0x23a8ae(querystring['stringify'](_0x41e969['body']));},proxyRes=async(_0x54889d,_0x2f1b49,_0x516d29)=>{const _0x140a69=a3_0x2d11bf,_0x23af28=_0x2f1b49['method'],_0x11fac2=''+_0x54889d[_0x140a69(0x1ef)],_0x553dca=getPath(_0x2f1b49),_0x1fc4c1=_0x2f1b49['query'],_0x11cad0=Object[_0x140a69(0x1dc)](_0x1fc4c1)[_0x140a69(0x1e5)](([_0x2fde8b,_0x33247b])=>{return{'name':_0x2fde8b,'value':_0x33247b};}),_0x3b3bbc=_0x2f1b49[_0x140a69(0x1de)],_0x204de5={'uuid':v4(),'path':_0x553dca,'method':_0x23af28,'statusCode':_0x11fac2,'parameters':_0x11cad0,'body':_0x3b3bbc},_0x17e62e=JSON[_0x140a69(0x1db)](_0x204de5);saveResult(path[_0x140a69(0x1e9)]('.','reqover-results'),_0x17e62e),console['log'](_0x140a69(0x1d7)+_0x17e62e);},getPath=_0x6dfb02=>{const _0x574809=a3_0x2d11bf,_0x2acdfb=_0x6dfb02[_0x574809(0x1d1)][_0x574809(0x1e1)]('?')[0x0];if(isUrl(_0x2acdfb))return urlParse(_0x2acdfb)[_0x574809(0x1f0)];return _0x2acdfb;},saveResult=(_0x95ced1,_0x37800e)=>{const _0x572623=a3_0x2d11bf;!fs[_0x572623(0x1ee)](_0x95ced1)&&fs[_0x572623(0x1ed)](_0x95ced1,{'recursive':!![]}),fs[_0x572623(0x1d2)](_0x95ced1+'/'+v4()+_0x572623(0x1d6),_0x37800e);};module['exports']={'record':record};