UNPKG

3.89 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/helpers/ApiClientSuperagent.js"],"names":["methods","getProtocol","req","formatUrl","path","config","test","adjustedPath","__SERVER__","protocol","apiPort","apiHost","ApiClient","forEach","method","params","data","resolve","reject","request","_","Date","query","get","set","send","end","err","body"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;AACA;;;;;;;;;;;;AAEA,IAAMA,UAAU,CAAC,KAAD,EAAQ,MAAR,EAAgB,KAAhB,EAAuB,OAAvB,EAAgC,KAAhC,CAAhB;;AAEA,SAASC,WAAT,CAAqBC,GAArB,EAA0B;AACxB,SAAO,OAAP;AACA;AACD;AACD,SAASC,SAAT,CAAmBC,IAAnB,EAAyBC,MAAzB,EAAiCH,GAAjC,EAAsC;AACpC,MAAI,qBAAqBI,IAArB,CAA0BF,IAA1B,CAAJ,EAAqC,OAAOA,IAAP;AACrC,MAAMG,eAAeH,KAAK,CAAL,MAAY,GAAZ,GAAkB,MAAMA,IAAxB,GAA+BA,IAApD;AACA,MAAII,UAAJ,EAAgB;AACd,QAAIC,WAAWR,YAAYC,GAAZ,CAAf;AACA,QAAIG,OAAOK,OAAP,IAAkB,EAAlB,IAAwBL,OAAOK,OAAP,IAAkB,IAA9C,EAAoD;AAClD,aAAOD,WAAW,IAAX,GAAkBJ,OAAOM,OAAzB,GAAmC,GAAnC,GAAyCN,OAAOK,OAAhD,GAA0DH,YAAjE;AACD,KAFD,MAEO;AACL,aAAOE,WAAW,IAAX,GAAkBJ,OAAOM,OAAzB,GAAmCJ,YAA1C;AACD;AACF;AACD,SAAO,WAAWA,YAAlB;AACD;;IAEoBK,S;AACnB,qBAAYV,GAAZ,EAAiB;AAAA;;AAAA;;AACfF,YAAQa,OAAR,CAAgB,UAACC,MAAD;AAAA,aACd,MAAKA,MAAL,IAAe,UAACV,IAAD;AAAA,uFAA0B,EAA1B;AAAA,YAASW,MAAT,QAASA,MAAT;AAAA,YAAiBC,IAAjB,QAAiBA,IAAjB;;AAAA,eAAiC,sBAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAC/E,cAAMC,UAAU,qBAAWL,MAAX,EAAmBX,UAAUC,IAAV,CAAnB,CAAhB;;AAEAW,mBAASA,UAAU,EAAnB;AACAA,iBAAOK,CAAP,GAAW,CAAC,IAAIC,IAAJ,EAAZ;AACAF,kBAAQG,KAAR,CAAcP,MAAd;;AAEA,cAAIP,cAAcN,IAAIqB,GAAJ,CAAQ,QAAR,CAAlB,EAAqC;AACnCJ,oBAAQK,GAAR,CAAY,QAAZ,EAAsBtB,IAAIqB,GAAJ,CAAQ,QAAR,CAAtB;AACD;;AAED,cAAIP,IAAJ,EAAU;AACRG,oBAAQM,IAAR,CAAaT,IAAb;AACD;;AAEDG,kBAAQO,GAAR,CAAY,UAACC,GAAD;AAAA,4FAAiB,EAAjB;AAAA,gBAAQC,IAAR,SAAQA,IAAR;;AAAA,mBAAwBD,MAAMT,OAAOU,QAAQD,GAAf,CAAN,GAA4BV,QAAQW,IAAR,CAApD;AAAA,WAAZ;AACD,SAhB+C,CAAjC;AAAA,OADD;AAAA,KAAhB;AAkBD;AACD;;;;;;;;;;;;;;4BAUQ,CAAE;;;;;;;;;;kBA/BShB,S;;;;;;;;;;;;0BApBfZ,O;0BAEGC,W;0BAIAE,S;0BAcYS,S","file":"ApiClientSuperagent.js","sourcesContent":["import superagent from 'superagent';\r\nimport config from '../config';\r\n\r\nconst methods = ['get', 'post', 'put', 'patch', 'del'];\r\n\r\nfunction getProtocol(req) {\r\n return \"http:\";\r\n //return req.headers[\"x-proto\"]==\"http\"?\"http:\":\"https:\";\r\n}\r\nfunction formatUrl(path, config, req) {\r\n if (/^(https?:)|^(\\/\\/)/.test(path)) return path;\r\n const adjustedPath = path[0] !== '/' ? '/' + path : path;\r\n if (__SERVER__) {\r\n var protocol = getProtocol(req);\r\n if (config.apiPort != \"\" && config.apiPort != \"80\") {\r\n return protocol + '//' + config.apiHost + ':' + config.apiPort + adjustedPath;\r\n } else {\r\n return protocol + '//' + config.apiHost + adjustedPath;\r\n }\r\n }\r\n return '/proxy' + adjustedPath;\r\n}\r\n\r\nexport default class ApiClient {\r\n constructor(req) {\r\n methods.forEach((method) =>\r\n this[method] = (path, { params, data } = {}) => new Promise((resolve, reject) => {\r\n const request = superagent[method](formatUrl(path));\r\n\r\n params = params || {};\r\n params._ = +new Date();\r\n request.query(params);\r\n\r\n if (__SERVER__ && req.get('cookie')) {\r\n request.set('cookie', req.get('cookie'));\r\n }\r\n\r\n if (data) {\r\n request.send(data);\r\n }\r\n\r\n request.end((err, { body } = {}) => err ? reject(body || err) : resolve(body));\r\n }));\r\n }\r\n /*\r\n * There's a V8 bug where, when using Babel, exporting classes with only\r\n * constructors sometimes fails. Until it's patched, this is a solution to\r\n * \"ApiClient is not defined\" from issue #14.\r\n * https://github.com/erikras/react-redux-universal-hot-example/issues/14\r\n *\r\n * Relevant Babel bug (but they claim it's V8): https://phabricator.babeljs.io/T2455\r\n *\r\n * Remove it at your own risk.\r\n */\r\n empty() {}\r\n}\r\n"]}
\No newline at end of file