{"versions":{"1.0.0":{"name":"fawkes-axios","version":"1.0.0","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","dependencies":{"axios":"^0.27.2"},"_id":"fawkes-axios@1.0.0","_nodeVersion":"12.22.11","_npmVersion":"6.14.16","dist":{"integrity":"sha512-ysrt0IS/Fzv0nFYzRpLbTVNHZ7a/e/8vvgfmihufANuRpfCi3W0UhbYqEnqKq4v39DoZ1cug6hgOCydDYCgNcg==","shasum":"24c0dbf39b500301bee8576b4cd0ded22a966e7f","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fawkes-axios/-/fawkes-axios-1.0.0.tgz","fileCount":3,"unpackedSize":409,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbXKVZUiBifQd8pAxbThL6aTbnWhHu4i1psYfqB56+ygIgJP7yvQ0PbqBQNBL2n+iXBm7AUSpChyxgkUapiFuQKMo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifL/fACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGVg/+PMfwCPjSg716bQx+hqxexb+DU4ZQ/L9qtF0+Ljx+Ne2wiBRX\r\nz6kVQ+pzZl/EcoYk/XGTikOgGnAJbLABs3iYAsS9F/ZV+8bbq1z4JrMSLnnN\r\n7fSHnQi/gfI+JVkPNG9CJseizEU0+EiakJvdL0elbSqdib4OMN8BO6LDxkB6\r\n4S4O1e6RYegEDvrZ/i7ounRkMlsSlwzxQ6dkXat1LEXkiCYHSOntPPsk92nd\r\n13t/A/vd5AN+8T+IsfSwKrE3B+ZiU9IeMT9rma5OynA/cZU8OWmmvayn6SA9\r\nbFaB0SAbsOSTWIWYUHKG0/MBt+TYh3p331Cwmoeq99Sv/nuBonaU/OCGWk2P\r\nMOD+he3pbd2QEja4Iwr8tjv1gk6V3Kbbq3AP6d+sj2K9/zjHSo32rgVxvJ3V\r\naZabWgxrodrHmDUIqFwyFEJedCcMjYkATYGxrl9FLsf93EJkYfsuO7XUs5IV\r\nxVrJ04idsGlXgyvEJirYowhPzYEsfAhXkSPdhNMnC0Yn35jhGUjpRDiTJhBX\r\nnEUeV5fXtlLEiVL+ndMoBTiFL9NlGuLFEeknFS6qmPvu9EiZamufYGdy9FKw\r\nNIs/roRFp3okDcFZg0aa/w5n7ctEpeqiTrZDZe17D//BwN6hSekW8REssqd8\r\nbuLA5liVbaEoIo8usa8J4WBkMDPK4+IocZg=\r\n=4ZZA\r\n-----END PGP SIGNATURE-----\r\n","size":415},"_npmUser":{"name":"anonymous","email":"deficodemaster@protonmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"deficodemaster@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fawkes-axios_1.0.0_1652342751818_0.3192523257257003"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-12T10:52:03.861Z","contributors":[]},"1.0.1":{"name":"fawkes-axios","version":"1.0.1","description":"Promise based HTTP client for the browser and node.js","main":"index.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","dependencies":{"axios":"^0.27.2"},"_id":"fawkes-axios@1.0.1","_nodeVersion":"12.22.11","_npmVersion":"6.14.16","dist":{"integrity":"sha512-1LptW/Lm2p8+iM9MneuymNS2b0MqurHDob4uFyn0aswMVRuq2+Qbti42VQ0sLop/0fOWfCkrJL1VKhv7WklATw==","shasum":"1fb79655adb29c5f0eb71511978e60800811c84c","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fawkes-axios/-/fawkes-axios-1.0.1.tgz","fileCount":4,"unpackedSize":723,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFsqBrkaucRNEFV1z7DqDaq+mdhWAsVzLvGqXX/KCGMHAiEAwF4hZ6Die0Vubwjh/IqmIJ+q6W55oI3/8vDMEkX5gE4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifMWVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQjA/9FXYBYJLA80SlwK/lfUKWgVEA3rMRrBwyw7BUBiJ9GZvTK/sy\r\njt1fuJg96/PrGargWOEgpbdA2hOI0zOWCqULO1IVin4rSIz8szaIuvSsWNSu\r\nzmiieuFjYtiQvGhByjiayr0XCJtAMHrmzMPFbNxxLhASfiA4caCIldstTc1v\r\nAsT3oicBVIPYBmXaxhOuQFnMi9H2cYLOvn+SV2IF72d2/gC8XIi62PpZ8XFy\r\nmNXde+LFMP/nZ/G9E51U5yqkpBu/0Ixw67MQvHOQ9wboonmujFFezHl2p5AH\r\n/+tRmU2Ahjxk+O/Hp25dp1HzYD5AuntJUtMGGNH2PLv4IPjNnzU+6dWkqnru\r\nIHpFAHgL5UclmUPpXK1q07L98KJbsfkE83w8XyvSxGjB5I1fDymG5q6Xgsax\r\nvLutShkBvh1y12TOMe9g7trYjky2qbKSNh03z/uQsKaFc85JqKqQ/y92sKuN\r\n53Zy7GKdHp81c4tLKwgl30TqLly6euJ84luHbj+jd6C6uuBgGQcY9gU4ToT6\r\n6GtHujCiUijyDifia5IhEeuO4TuiMFMLyFDxxIx9n2ORReXnsvCq7xSrTVnk\r\nNoYfZZI103Y7AbTlgR2cr2SOqcKO2yOY/n1BdaxUqZ6UuT9CSfp8IAt46ah9\r\nm6fuD1pnaWVelBZzRFiyQmWqTgNW6uJS0ik=\r\n=vF6y\r\n-----END PGP SIGNATURE-----\r\n","size":577},"_npmUser":{"name":"anonymous","email":"deficodemaster@protonmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"deficodemaster@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fawkes-axios_1.0.1_1652344213335_0.1898845141900185"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-12T10:52:04.192Z","contributors":[]},"1.0.4":{"name":"fawkes-axios","version":"1.0.4","description":"Promise based HTTP client for the browser and node.js","main":"index.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","dependencies":{"axios":"^0.27.2"},"_id":"fawkes-axios@1.0.4","_nodeVersion":"12.22.11","_npmVersion":"6.14.16","dist":{"integrity":"sha512-FHiWw2aB8bynWAAzoJm21s+xPV2WOtWJfPcrVOEGIQyaD5K6zjLoJG0f7XJndwrmJYg/CyfSGOMIujpMznyErA==","shasum":"d42c17dce57db31f297b8caaca30be77bc04630e","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fawkes-axios/-/fawkes-axios-1.0.4.tgz","fileCount":7,"unpackedSize":257068,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBQirkS3xGlYjyWQgHjB4i2YmppystuR11sLnc60YD6EAiEAidmBrnI/PE8XRqTdrrkuZD1bS66PYXeCxcqYHfq+7Kc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifMt4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuGg//SfnlrSk/0qITTPaPIbNM+ofU6cwIpEsX4W9w+C9P9uJ/35eO\r\ntW3ALmEz1FhReY2CLLSMlQVJiKCPRm8yOvSZFQ5aWYXAe2C6OGV5UfbZGB1H\r\nixupIaTEN7OiM/5dmfzHwIoD7vRnuTAHjj2n0IQmzrnoOCCCU514ohY1utZO\r\npkK5OTk7byNVSn60yDMwoR3VONGmh67xhPCYbcLaJ1Wrdsx7knaFRWGMLu0j\r\nnTCcQYUwG1cWdk16h+8Qq0IsG/9T5GctfM1kGvnAHyWmBKSDK1TAQtGnS+CK\r\n9H392GpSTVF0aeEGbenqgLyustRCG9afnuds+mwM2mnOo87GUV4FggMBDsAc\r\nEbLOb/GHy0olel/nmvshAyFaGopj+3hCxY64EyDCbvoLXqZYsr9NLLHuMssn\r\nfTw1dJWllgWLBZ7x69OM/3D1Uz1OoqaoV2KECAzzH27OUW0YuPs3Xxn90ejb\r\nTksR6KjaRjxoeTGMuqO2H7LWuOqfqNrup1VFdDHtNUWtFVOR3N7X5+QSt9mM\r\nzwbWjo/UAYmklbp6zcyzICLgt7Vpu/8FciwMxOQyp/aymMBnWF3VbECWOqss\r\n9cuihLSF9rR1RIFlFA9UhKK+Re5twVqnTMjIMCL7B2ZOga1lUiZk8it707hq\r\nVcU9hSwklrPBjjhnDicI0PQFyzbwSdvUMYc=\r\n=MmJH\r\n-----END PGP SIGNATURE-----\r\n","size":63828},"_npmUser":{"name":"anonymous","email":"deficodemaster@protonmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"deficodemaster@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fawkes-axios_1.0.4_1652345720147_0.9514160451215152"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-12T10:52:06.644Z","contributors":[]},"1.0.3":{"name":"fawkes-axios","version":"1.0.3","description":"Promise based HTTP client for the browser and node.js","main":"index.min.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","dependencies":{"axios":"^0.27.2"},"_id":"fawkes-axios@1.0.3","_nodeVersion":"12.22.11","_npmVersion":"6.14.16","dist":{"integrity":"sha512-gMpYnFym7KEEWNp9/YP0531ETGW0OyCFk+9lP5sGjDpWTZetaUETDcXJSZjE1DUFIkjme2ZCdGRlj+A0aDEjNw==","shasum":"5a522d62632a40f4066abae94098a95327beb4a9","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fawkes-axios/-/fawkes-axios-1.0.3.tgz","fileCount":2,"unpackedSize":1792,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE3mgW3Z56HrGI9RX8CFrVPY4EgD8LfKbi88lXcLTWn8AiEA5tv4IPLifUq8iyPQYuC7HryQZpNReKThB8Dhv0/+loY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifMrWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoH4A/9H0R4di73w+V5vCU0lauHAWKTn0a8T20aOnhk0zPEy+bbwlGB\r\nNZjEX5qhqH3mfYz0nVqDsZGATYOkDA539n6eARejG7mIRGA5tzBX/T4hm7MM\r\nPwMI1NqrFuxH26zOeuM4ReGP5yltB0lEmP2d/bZcawC9tcZ7+qUNfHGGTuLE\r\nL99MzjOG9w8Do/0Vg28czw0lyzDtPClcQUUGBjXEXaM145pVuCoKozvNwvJA\r\nttGKs0iBlzKkMWbnWAUyQKqRO4QrE0rvXtNljXcOejgU+lQPHMfd3G37hAXH\r\nZ8nQH6BsGkwI+Kpdkdp71HHo42JKUc8CMfFe/xyU3DLztDw6hHJVXjPIA8+B\r\nvSXSunVM2/NazWDWuAPzFiCQ61KdCVW1LUVMYCTxZzKD1eDPzopS6TEY6ZRO\r\n5BuEGmHG937EISSwto8jjdSkjidkZ1SSZdypLewHxAjQTHkctMyWLMntfQY9\r\nuvxtjogIJj6XRMIY7x18LvzZaP2VLsH6DQJujMOAuilh5+HaZ3QxizLjKEhS\r\nKbFpPn8Erq00/Ib9MuzKJnl5fokhLnmMMkf92FDOHNG5DDK3q6MM9pw6WoOJ\r\nd88e8NY3L0tRN3d8U0ZgmLT8JzXqXBGx2EOXvlOiNYZt9866mrp7dwGikvbx\r\nlJgiKSJr6sAklHeSi1eit3EkUqlW9/dlYXA=\r\n=e2ir\r\n-----END PGP SIGNATURE-----\r\n","size":989},"_npmUser":{"name":"anonymous","email":"deficodemaster@protonmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"deficodemaster@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fawkes-axios_1.0.3_1652345558280_0.6473616041822936"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-12T10:52:05.333Z","contributors":[]},"1.0.2":{"name":"fawkes-axios","version":"1.0.2","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","dependencies":{"axios":"^0.27.2"},"_id":"fawkes-axios@1.0.2","_nodeVersion":"12.22.11","_npmVersion":"6.14.16","dist":{"integrity":"sha512-x9BOqLYtVPAxoximvmyeTSFxXQjVpzZAJU+jBvi+PuzQiq3BX2ZJeT1lnVKB9Ck/mx2qUvZztLdhwlO/xidgdQ==","shasum":"d6d1c45a4e2ed4f8625151fa15e0480fd097f2ed","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fawkes-axios/-/fawkes-axios-1.0.2.tgz","fileCount":4,"unpackedSize":827,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmSt/K3cb+SD8sOf9VEgcwo1MX9LI3NlW1ydv9hKmLxgIhAMuOVWeaXPRxpCcLLiu5EDXBKCkGzbkdhJK75EF+Hebb"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifMZ1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+yg//U+JAAd2Eij9vW2NEm8K4MGGZn8Foj2mqZOVKUVwWSQ6G/L8C\r\nYRq1w/OXXQb2U5Wvoz3ln4EnPVun5m/Tr6029V3HGaPNZriuo0giap0xoVU6\r\n+TIZITbt4ZlrHurtK77sdx/1qNn2YqTM+Jo//3wQOyq2BMIXIVMqvF93TFsJ\r\nwOQDsQPq0gPDrSXMBqst/fftkLmBnBSZfHvrU/cdd6VLAVH/QsqcO6/e39d+\r\nGo0gS9pI5jHr9CS03yxq4WRakRSB9PnaiTL70dSg+CmMKAMn8vXGvx9oG1Yv\r\n8FCrOLashfNQkedm3O84p4UUTDDAD5PfchwalasVmzN//7lEo0GWqhnKp7aB\r\niB0tf90nw/D8K8AMTdBwvlwZVoLH3xZzyoMY12JfwfIA1zijE5gIO4elQpu7\r\nuYxh04hx9FG+sZlF9PYLrPX1U0qpjGOugpsC8t3DBGVfrAaN7W+uBUTrd5JO\r\nlCkhNdcHc9WSbeILknS+h5v8JxGehJEQKKIhRN+fLcoFNDT8JI3d0hjia3i8\r\nac/5ouQIgXF7DXqbpQYOZ6JYstEHcuEdwgwIHwYJnBdLc0XjDq13W3CMwAbs\r\nySICo14iEoOsUAUgXU3RPoFs+aSbB+nZKMddVDKHlJCEw/7pDAXoxRaKtiDh\r\nh57UdCV905LSe8zCXtGlpn4iE4UjXjryhlk=\r\n=UEZT\r\n-----END PGP SIGNATURE-----\r\n","size":558},"_npmUser":{"name":"anonymous","email":"deficodemaster@protonmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"deficodemaster@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fawkes-axios_1.0.2_1652344437106_0.9034176060187544"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-12T10:52:04.486Z","contributors":[]}},"dist-tags":{"latest":"1.0.4"},"name":"fawkes-axios","time":{"created":"2022-05-12T10:52:05.482Z","modified":"2022-05-12T10:52:09.675Z","1.0.0":"2022-05-12T08:05:51.970Z","1.0.1":"2022-05-12T08:30:13.498Z","1.0.4":"2022-05-12T08:55:20.345Z","1.0.3":"2022-05-12T08:52:38.476Z","1.0.2":"2022-05-12T08:33:57.322Z"},"readme":"# axios\n\n[![npm version](https://img.shields.io/npm/v/axios.svg?style=flat-square)](https://www.npmjs.org/package/axios)\n[![build status](https://img.shields.io/travis/axios/axios/master.svg?style=flat-square)](https://travis-ci.org/axios/axios)\n[![code coverage](https://img.shields.io/coveralls/mzabriskie/axios.svg?style=flat-square)](https://coveralls.io/r/mzabriskie/axios)\n[![install size](https://packagephobia.now.sh/badge?p=axios)](https://packagephobia.now.sh/result?p=axios)\n[![npm downloads](https://img.shields.io/npm/dm/axios.svg?style=flat-square)](http://npm-stat.com/charts.html?package=axios)\n[![gitter chat](https://img.shields.io/gitter/room/mzabriskie/axios.svg?style=flat-square)](https://gitter.im/mzabriskie/axios)\n[![code helpers](https://www.codetriage.com/axios/axios/badges/users.svg)](https://www.codetriage.com/axios/axios)\n\nPromise based HTTP client for the browser and node.js\n\n## Features\n\n- Make [XMLHttpRequests](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) from the browser\n- Make [http](http://nodejs.org/api/http.html) requests from node.js\n- Supports the [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) API\n- Intercept request and response\n- Transform request and response data\n- Cancel requests\n- Automatic transforms for JSON data\n- Client side support for protecting against [XSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery)\n\n## Browser Support\n\n![Chrome](https://raw.github.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) | ![Firefox](https://raw.github.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) | ![Safari](https://raw.github.com/alrra/browser-logos/master/src/safari/safari_48x48.png) | ![Opera](https://raw.github.com/alrra/browser-logos/master/src/opera/opera_48x48.png) | ![Edge](https://raw.github.com/alrra/browser-logos/master/src/edge/edge_48x48.png) | ![IE](https://raw.github.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png) |\n--- | --- | --- | --- | --- | --- |\nLatest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 11 ✔ |\n\n[![Browser Matrix](https://saucelabs.com/open_sauce/build_matrix/axios.svg)](https://saucelabs.com/u/axios)\n\n## Installing\n\nUsing npm:\n\n```bash\n$ npm install axios\n```\n\nUsing bower:\n\n```bash\n$ bower install axios\n```\n\nUsing yarn:\n\n```bash\n$ yarn add axios\n```\n\nUsing cdn:\n\n```html\n<script src=\"https://unpkg.com/axios/dist/axios.min.js\"></script>\n```\n\n## Example\n\n### note: CommonJS usage\nIn order to gain the TypeScript typings (for intellisense / autocomplete) while using CommonJS imports with `require()` use the following approach:\n\n```js\nconst axios = require('axios').default;\n\n// axios.<method> will now provide autocomplete and parameter typings\n```\n\nPerforming a `GET` request\n\n```js\nconst axios = require('axios');\n\n// Make a request for a user with a given ID\naxios.get('/user?ID=12345')\n  .then(function (response) {\n    // handle success\n    console.log(response);\n  })\n  .catch(function (error) {\n    // handle error\n    console.log(error);\n  })\n  .finally(function () {\n    // always executed\n  });\n\n// Optionally the request above could also be done as\naxios.get('/user', {\n    params: {\n      ID: 12345\n    }\n  })\n  .then(function (response) {\n    console.log(response);\n  })\n  .catch(function (error) {\n    console.log(error);\n  })\n  .finally(function () {\n    // always executed\n  });  \n\n// Want to use async/await? Add the `async` keyword to your outer function/method.\nasync function getUser() {\n  try {\n    const response = await axios.get('/user?ID=12345');\n    console.log(response);\n  } catch (error) {\n    console.error(error);\n  }\n}\n```\n\n> **NOTE:** `async/await` is part of ECMAScript 2017 and is not supported in Internet\n> Explorer and older browsers, so use with caution.\n\nPerforming a `POST` request\n\n```js\naxios.post('/user', {\n    firstName: 'Fred',\n    lastName: 'Flintstone'\n  })\n  .then(function (response) {\n    console.log(response);\n  })\n  .catch(function (error) {\n    console.log(error);\n  });\n```\n\nPerforming multiple concurrent requests\n\n```js\nfunction getUserAccount() {\n  return axios.get('/user/12345');\n}\n\nfunction getUserPermissions() {\n  return axios.get('/user/12345/permissions');\n}\n\naxios.all([getUserAccount(), getUserPermissions()])\n  .then(axios.spread(function (acct, perms) {\n    // Both requests are now complete\n  }));\n```\n\n## axios API\n\nRequests can be made by passing the relevant config to `axios`.\n\n##### axios(config)\n\n```js\n// Send a POST request\naxios({\n  method: 'post',\n  url: '/user/12345',\n  data: {\n    firstName: 'Fred',\n    lastName: 'Flintstone'\n  }\n});\n```\n\n```js\n// GET request for remote image\naxios({\n  method: 'get',\n  url: 'http://bit.ly/2mTM3nY',\n  responseType: 'stream'\n})\n  .then(function (response) {\n    response.data.pipe(fs.createWriteStream('ada_lovelace.jpg'))\n  });\n```\n\n##### axios(url[, config])\n\n```js\n// Send a GET request (default method)\naxios('/user/12345');\n```\n\n### Request method aliases\n\nFor convenience aliases have been provided for all supported request methods.\n\n##### axios.request(config)\n##### axios.get(url[, config])\n##### axios.delete(url[, config])\n##### axios.head(url[, config])\n##### axios.options(url[, config])\n##### axios.post(url[, data[, config]])\n##### axios.put(url[, data[, config]])\n##### axios.patch(url[, data[, config]])\n\n###### NOTE\nWhen using the alias methods `url`, `method`, and `data` properties don't need to be specified in config.\n\n### Concurrency\n\nHelper functions for dealing with concurrent requests.\n\n##### axios.all(iterable)\n##### axios.spread(callback)\n\n### Creating an instance\n\nYou can create a new instance of axios with a custom config.\n\n##### axios.create([config])\n\n```js\nconst instance = axios.create({\n  baseURL: 'https://some-domain.com/api/',\n  timeout: 1000,\n  headers: {'X-Custom-Header': 'foobar'}\n});\n```\n\n### Instance methods\n\nThe available instance methods are listed below. The specified config will be merged with the instance config.\n\n##### axios#request(config)\n##### axios#get(url[, config])\n##### axios#delete(url[, config])\n##### axios#head(url[, config])\n##### axios#options(url[, config])\n##### axios#post(url[, data[, config]])\n##### axios#put(url[, data[, config]])\n##### axios#patch(url[, data[, config]])\n##### axios#getUri([config])\n\n## Request Config\n\nThese are the available config options for making requests. Only the `url` is required. Requests will default to `GET` if `method` is not specified.\n\n```js\n{\n  // `url` is the server URL that will be used for the request\n  url: '/user',\n\n  // `method` is the request method to be used when making the request\n  method: 'get', // default\n\n  // `baseURL` will be prepended to `url` unless `url` is absolute.\n  // It can be convenient to set `baseURL` for an instance of axios to pass relative URLs\n  // to methods of that instance.\n  baseURL: 'https://some-domain.com/api/',\n\n  // `transformRequest` allows changes to the request data before it is sent to the server\n  // This is only applicable for request methods 'PUT', 'POST', 'PATCH' and 'DELETE'\n  // The last function in the array must return a string or an instance of Buffer, ArrayBuffer,\n  // FormData or Stream\n  // You may modify the headers object.\n  transformRequest: [function (data, headers) {\n    // Do whatever you want to transform the data\n\n    return data;\n  }],\n\n  // `transformResponse` allows changes to the response data to be made before\n  // it is passed to then/catch\n  transformResponse: [function (data) {\n    // Do whatever you want to transform the data\n\n    return data;\n  }],\n\n  // `headers` are custom headers to be sent\n  headers: {'X-Requested-With': 'XMLHttpRequest'},\n\n  // `params` are the URL parameters to be sent with the request\n  // Must be a plain object or a URLSearchParams object\n  params: {\n    ID: 12345\n  },\n\n  // `paramsSerializer` is an optional function in charge of serializing `params`\n  // (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/)\n  paramsSerializer: function (params) {\n    return Qs.stringify(params, {arrayFormat: 'brackets'})\n  },\n\n  // `data` is the data to be sent as the request body\n  // Only applicable for request methods 'PUT', 'POST', and 'PATCH'\n  // When no `transformRequest` is set, must be of one of the following types:\n  // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams\n  // - Browser only: FormData, File, Blob\n  // - Node only: Stream, Buffer\n  data: {\n    firstName: 'Fred'\n  },\n  \n  // syntax alternative to send data into the body\n  // method post\n  // only the value is sent, not the key\n  data: 'Country=Brasil&City=Belo Horizonte',\n\n  // `timeout` specifies the number of milliseconds before the request times out.\n  // If the request takes longer than `timeout`, the request will be aborted.\n  timeout: 1000, // default is `0` (no timeout)\n\n  // `withCredentials` indicates whether or not cross-site Access-Control requests\n  // should be made using credentials\n  withCredentials: false, // default\n\n  // `adapter` allows custom handling of requests which makes testing easier.\n  // Return a promise and supply a valid response (see lib/adapters/README.md).\n  adapter: function (config) {\n    /* ... */\n  },\n\n  // `auth` indicates that HTTP Basic auth should be used, and supplies credentials.\n  // This will set an `Authorization` header, overwriting any existing\n  // `Authorization` custom headers you have set using `headers`.\n  // Please note that only HTTP Basic auth is configurable through this parameter.\n  // For Bearer tokens and such, use `Authorization` custom headers instead.\n  auth: {\n    username: 'janedoe',\n    password: 's00pers3cret'\n  },\n\n  // `responseType` indicates the type of data that the server will respond with\n  // options are: 'arraybuffer', 'document', 'json', 'text', 'stream'\n  //   browser only: 'blob'\n  responseType: 'json', // default\n\n  // `responseEncoding` indicates encoding to use for decoding responses\n  // Note: Ignored for `responseType` of 'stream' or client-side requests\n  responseEncoding: 'utf8', // default\n\n  // `xsrfCookieName` is the name of the cookie to use as a value for xsrf token\n  xsrfCookieName: 'XSRF-TOKEN', // default\n\n  // `xsrfHeaderName` is the name of the http header that carries the xsrf token value\n  xsrfHeaderName: 'X-XSRF-TOKEN', // default\n\n  // `onUploadProgress` allows handling of progress events for uploads\n  onUploadProgress: function (progressEvent) {\n    // Do whatever you want with the native progress event\n  },\n\n  // `onDownloadProgress` allows handling of progress events for downloads\n  onDownloadProgress: function (progressEvent) {\n    // Do whatever you want with the native progress event\n  },\n\n  // `maxContentLength` defines the max size of the http response content in bytes allowed\n  maxContentLength: 2000,\n\n  // `validateStatus` defines whether to resolve or reject the promise for a given\n  // HTTP response status code. If `validateStatus` returns `true` (or is set to `null`\n  // or `undefined`), the promise will be resolved; otherwise, the promise will be\n  // rejected.\n  validateStatus: function (status) {\n    return status >= 200 && status < 300; // default\n  },\n\n  // `maxRedirects` defines the maximum number of redirects to follow in node.js.\n  // If set to 0, no redirects will be followed.\n  maxRedirects: 5, // default\n\n  // `socketPath` defines a UNIX Socket to be used in node.js.\n  // e.g. '/var/run/docker.sock' to send requests to the docker daemon.\n  // Only either `socketPath` or `proxy` can be specified.\n  // If both are specified, `socketPath` is used.\n  socketPath: null, // default\n\n  // `httpAgent` and `httpsAgent` define a custom agent to be used when performing http\n  // and https requests, respectively, in node.js. This allows options to be added like\n  // `keepAlive` that are not enabled by default.\n  httpAgent: new http.Agent({ keepAlive: true }),\n  httpsAgent: new https.Agent({ keepAlive: true }),\n\n  // 'proxy' defines the hostname and port of the proxy server.\n  // You can also define your proxy using the conventional `http_proxy` and\n  // `https_proxy` environment variables. If you are using environment variables\n  // for your proxy configuration, you can also define a `no_proxy` environment\n  // variable as a comma-separated list of domains that should not be proxied.\n  // Use `false` to disable proxies, ignoring environment variables.\n  // `auth` indicates that HTTP Basic auth should be used to connect to the proxy, and\n  // supplies credentials.\n  // This will set an `Proxy-Authorization` header, overwriting any existing\n  // `Proxy-Authorization` custom headers you have set using `headers`.\n  proxy: {\n    host: '127.0.0.1',\n    port: 9000,\n    auth: {\n      username: 'mikeymike',\n      password: 'rapunz3l'\n    }\n  },\n\n  // `cancelToken` specifies a cancel token that can be used to cancel the request\n  // (see Cancellation section below for details)\n  cancelToken: new CancelToken(function (cancel) {\n  })\n}\n```\n\n## Response Schema\n\nThe response for a request contains the following information.\n\n```js\n{\n  // `data` is the response that was provided by the server\n  data: {},\n\n  // `status` is the HTTP status code from the server response\n  status: 200,\n\n  // `statusText` is the HTTP status message from the server response\n  statusText: 'OK',\n\n  // `headers` the headers that the server responded with\n  // All header names are lower cased\n  headers: {},\n\n  // `config` is the config that was provided to `axios` for the request\n  config: {},\n\n  // `request` is the request that generated this response\n  // It is the last ClientRequest instance in node.js (in redirects)\n  // and an XMLHttpRequest instance in the browser\n  request: {}\n}\n```\n\nWhen using `then`, you will receive the response as follows:\n\n```js\naxios.get('/user/12345')\n  .then(function (response) {\n    console.log(response.data);\n    console.log(response.status);\n    console.log(response.statusText);\n    console.log(response.headers);\n    console.log(response.config);\n  });\n```\n\nWhen using `catch`, or passing a [rejection callback](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then) as second parameter of `then`, the response will be available through the `error` object as explained in the [Handling Errors](#handling-errors) section.\n\n## Config Defaults\n\nYou can specify config defaults that will be applied to every request.\n\n### Global axios defaults\n\n```js\naxios.defaults.baseURL = 'https://api.example.com';\naxios.defaults.headers.common['Authorization'] = AUTH_TOKEN;\naxios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';\n```\n\n### Custom instance defaults\n\n```js\n// Set config defaults when creating the instance\nconst instance = axios.create({\n  baseURL: 'https://api.example.com'\n});\n\n// Alter defaults after instance has been created\ninstance.defaults.headers.common['Authorization'] = AUTH_TOKEN;\n```\n\n### Config order of precedence\n\nConfig will be merged with an order of precedence. The order is library defaults found in [lib/defaults.js](https://github.com/axios/axios/blob/master/lib/defaults.js#L28), then `defaults` property of the instance, and finally `config` argument for the request. The latter will take precedence over the former. Here's an example.\n\n```js\n// Create an instance using the config defaults provided by the library\n// At this point the timeout config value is `0` as is the default for the library\nconst instance = axios.create();\n\n// Override timeout default for the library\n// Now all requests using this instance will wait 2.5 seconds before timing out\ninstance.defaults.timeout = 2500;\n\n// Override timeout for this request as it's known to take a long time\ninstance.get('/longRequest', {\n  timeout: 5000\n});\n```\n\n## Interceptors\n\nYou can intercept requests or responses before they are handled by `then` or `catch`.\n\n```js\n// Add a request interceptor\naxios.interceptors.request.use(function (config) {\n    // Do something before request is sent\n    return config;\n  }, function (error) {\n    // Do something with request error\n    return Promise.reject(error);\n  });\n\n// Add a response interceptor\naxios.interceptors.response.use(function (response) {\n    // Any status code that lie within the range of 2xx cause this function to trigger\n    // Do something with response data\n    return response;\n  }, function (error) {\n    // Any status codes that falls outside the range of 2xx cause this function to trigger\n    // Do something with response error\n    return Promise.reject(error);\n  });\n```\n\nIf you need to remove an interceptor later you can.\n\n```js\nconst myInterceptor = axios.interceptors.request.use(function () {/*...*/});\naxios.interceptors.request.eject(myInterceptor);\n```\n\nYou can add interceptors to a custom instance of axios.\n\n```js\nconst instance = axios.create();\ninstance.interceptors.request.use(function () {/*...*/});\n```\n\n## Handling Errors\n\n```js\naxios.get('/user/12345')\n  .catch(function (error) {\n    if (error.response) {\n      // The request was made and the server responded with a status code\n      // that falls out of the range of 2xx\n      console.log(error.response.data);\n      console.log(error.response.status);\n      console.log(error.response.headers);\n    } else if (error.request) {\n      // The request was made but no response was received\n      // `error.request` is an instance of XMLHttpRequest in the browser and an instance of\n      // http.ClientRequest in node.js\n      console.log(error.request);\n    } else {\n      // Something happened in setting up the request that triggered an Error\n      console.log('Error', error.message);\n    }\n    console.log(error.config);\n  });\n```\n\nUsing the `validateStatus` config option, you can define HTTP code(s) that should throw an error.\n\n```js\naxios.get('/user/12345', {\n  validateStatus: function (status) {\n    return status < 500; // Reject only if the status code is greater than or equal to 500\n  }\n})\n```\n\nUsing `toJSON` you get an object with more information about the HTTP error.\n\n```js\naxios.get('/user/12345')\n  .catch(function (error) {\n    console.log(error.toJSON());\n  });\n```\n\n## Cancellation\n\nYou can cancel a request using a *cancel token*.\n\n> The axios cancel token API is based on the withdrawn [cancelable promises proposal](https://github.com/tc39/proposal-cancelable-promises).\n\nYou can create a cancel token using the `CancelToken.source` factory as shown below:\n\n```js\nconst CancelToken = axios.CancelToken;\nconst source = CancelToken.source();\n\naxios.get('/user/12345', {\n  cancelToken: source.token\n}).catch(function (thrown) {\n  if (axios.isCancel(thrown)) {\n    console.log('Request canceled', thrown.message);\n  } else {\n    // handle error\n  }\n});\n\naxios.post('/user/12345', {\n  name: 'new name'\n}, {\n  cancelToken: source.token\n})\n\n// cancel the request (the message parameter is optional)\nsource.cancel('Operation canceled by the user.');\n```\n\nYou can also create a cancel token by passing an executor function to the `CancelToken` constructor:\n\n```js\nconst CancelToken = axios.CancelToken;\nlet cancel;\n\naxios.get('/user/12345', {\n  cancelToken: new CancelToken(function executor(c) {\n    // An executor function receives a cancel function as a parameter\n    cancel = c;\n  })\n});\n\n// cancel the request\ncancel();\n```\n\n> Note: you can cancel several requests with the same cancel token.\n\n## Using application/x-www-form-urlencoded format\n\nBy default, axios serializes JavaScript objects to `JSON`. To send data in the `application/x-www-form-urlencoded` format instead, you can use one of the following options.\n\n### Browser\n\nIn a browser, you can use the [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) API as follows:\n\n```js\nconst params = new URLSearchParams();\nparams.append('param1', 'value1');\nparams.append('param2', 'value2');\naxios.post('/foo', params);\n```\n\n> Note that `URLSearchParams` is not supported by all browsers (see [caniuse.com](http://www.caniuse.com/#feat=urlsearchparams)), but there is a [polyfill](https://github.com/WebReflection/url-search-params) available (make sure to polyfill the global environment).\n\nAlternatively, you can encode data using the [`qs`](https://github.com/ljharb/qs) library:\n\n```js\nconst qs = require('qs');\naxios.post('/foo', qs.stringify({ 'bar': 123 }));\n```\n\nOr in another way (ES6),\n\n```js\nimport qs from 'qs';\nconst data = { 'bar': 123 };\nconst options = {\n  method: 'POST',\n  headers: { 'content-type': 'application/x-www-form-urlencoded' },\n  data: qs.stringify(data),\n  url,\n};\naxios(options);\n```\n\n### Node.js\n\nIn node.js, you can use the [`querystring`](https://nodejs.org/api/querystring.html) module as follows:\n\n```js\nconst querystring = require('querystring');\naxios.post('http://something.com/', querystring.stringify({ foo: 'bar' }));\n```\n\nYou can also use the [`qs`](https://github.com/ljharb/qs) library.\n\n###### NOTE\nThe `qs` library is preferable if you need to stringify nested objects, as the `querystring` method has known issues with that use case (https://github.com/nodejs/node-v0.x-archive/issues/1665).\n\n## Semver\n\nUntil axios reaches a `1.0` release, breaking changes will be released with a new minor version. For example `0.5.1`, and `0.5.4` will have the same API, but `0.6.0` will have breaking changes.\n\n## Promises\n\naxios depends on a native ES6 Promise implementation to be [supported](http://caniuse.com/promises).\nIf your environment doesn't support ES6 Promises, you can [polyfill](https://github.com/jakearchibald/es6-promise).\n\n## TypeScript\naxios includes [TypeScript](http://typescriptlang.org) definitions.\n```typescript\nimport axios from 'axios';\naxios.get('/user?ID=12345');\n```\n\n## Resources\n\n* [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)\n* [Upgrade Guide](https://github.com/axios/axios/blob/master/UPGRADE_GUIDE.md)\n* [Ecosystem](https://github.com/axios/axios/blob/master/ECOSYSTEM.md)\n* [Contributing Guide](https://github.com/axios/axios/blob/master/CONTRIBUTING.md)\n* [Code of Conduct](https://github.com/axios/axios/blob/master/CODE_OF_CONDUCT.md)\n\n## Credits\n\naxios is heavily inspired by the [$http service](https://docs.angularjs.org/api/ng/service/$http) provided in [Angular](https://angularjs.org/). Ultimately axios is an effort to provide a standalone `$http`-like service for use outside of Angular.\n\n## License\n\n[MIT](LICENSE)","users":{}}