{"_id":"httpie","_rev":"26-57c06956abfd7612b5afa7233fac6719","name":"httpie","dist-tags":{"latest":"1.1.2","next":"2.0.0-next.13"},"versions":{"0.0.0":{"name":"httpie","version":"0.0.0","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"WIP","module":"dist/httpie.mjs","main":"dist/httpie.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"node builder","pretest":"npm run build","test":"tape test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"gzip-size":"^3.0.0","mk-dirs":"^1.0.0","pretty-bytes":"^4.0.2","tap-spec":"^5.0.0","tape":"^4.9.1","terser":"^3.10.0"},"gitHead":"8107dcf89e5ea8a28e76425b66b1f292135a653b","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@0.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-uaOM0FDEmD9Acqalk1jhp+NRTsWt3qtPTSwmO0XHzBu5EXAC1vZfIN6KhzEBrqQ9T/miKlSBi/I5tKQeNSelew==","shasum":"878def49a852cd4363ac2510dbdaf6b9556afa77","tarball":"https://registry.npmjs.org/httpie/-/httpie-0.0.0.tgz","fileCount":3,"unpackedSize":2204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb84XICRA9TVsSAnZWagAAcigP/0J0h3i1MV2JExLnF/Yg\nCERBcSqB0USZOd3Pw3i29MMWSccQ9RQNgid57FsEkg3eCyDVk6ZzcZlByBmW\nhahGemAGpeToxyQ+G1UPtHz4cRTHn11NbTXTRmOUaLP3ixexrvaslPtiTuiX\n5/CzEy1A7T1/Mu5qfv6aLBsbD46NPbOVdxmbUntl5mjiE2r2bVPto6oPQ2qL\nxY1hRQgncVZ+nryNJr/LyeiW0IAUkIaBahYdDGclrQjblZQh/qxm+Xa8rUY8\nWEZpjz+rerhY8I/c2uJMNIXZgNFy/CJRWsWR25Q5F4SzpP3XKMKKIJqomXQO\nzRf5QhcSk9ux9ekC4nf5cIbBVSViNcWMtZmEIhag+pLToBLDFHJWVGWKrwUY\nFl0BPRx8LCw3h5DtKPfPckGtGyfUvXF1+mnCIRm8riPev99sCNLN5sBc0Xu+\n4jlGYNSkie7DXjRInGabcdbRDtdPIQscmy0h6/KrEVTAIDzFvaYxRFjnlDlq\nZu+s/60bbWQi0BtDTE3kgoW2I/ixyVkFMaZZL3RhLu5C0Ci32VL4YTCcEd6M\nAwqiDFpdm20lDbJMYHgdyb1zp1Q5iE5jlHQJFrQq/zSxH/ehJSjsKn3mZVOc\ni81NZ816tDkJLAnFifzBZeTQsgs7w9aN/xCnIj5pf77V8df3ccb14ZjX+npP\nZYl5\r\n=bF+x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXZOb6lVofy+OHNajwyLhBsCzf1ZgMzx4SyXxwMDCzQAiBgYH16YeNPATmWpjOGwizQeJDFgonWFe1bjtxg1Ane+g=="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_0.0.0_1542686151907_0.7358011828928979"},"_hasShrinkwrap":false},"0.1.0":{"name":"httpie","version":"0.1.0","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","module":"dist/httpie.mjs","main":"dist/httpie.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"node builder","pretest":"npm run build","test":"tape test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"gzip-size":"^3.0.0","mk-dirs":"^1.0.0","pretty-bytes":"^4.0.2","tap-spec":"^5.0.0","tape":"^4.9.1","terser":"^3.10.0"},"gitHead":"2e9410d1d49c432643e2ddbae68233d8d1f84658","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@0.1.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-Hegi/6ixVQom+1n/KPbKseyJO0t5UYa7SOUSRpH7V55pJaadXE7Sz1ma5ieTNbT0y0XaC8OLJzJ7GFwTl4Bggw==","shasum":"e836c409727cd45856c9316a6b63d6b2489f4715","tarball":"https://registry.npmjs.org/httpie/-/httpie-0.1.0.tgz","fileCount":5,"unpackedSize":4664,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb85juCRA9TVsSAnZWagAAHcMP/3hD4G9pqD6ioUtwMYSt\n1sGow9Y8k/SwYJRAfQM7Eom0MUHkv6tUVj6oB5s4x9OAAnkUILJulEHq//Md\n2bks5cgXHCr8QDiRhzz4RJPgT35orOlzLo0dZK8yP8BakBknfO0Qx2FQUQL6\nnl99X6duBxzMxfwcaVArL+x6Wf6trun0nvcmB5ostcNTaHFjrV6uWahlfFcC\ncfdPoR1+R8pmjEh59oZm217nuaPZUEcHY06W6L0j8DG+Bxsj2aTJXsIjz81t\nbdAxBFv6GnnnUtvuHoH7w6isJUyeyyHVXbWkelx0IzZja7p/Y9dgU0VX5gWd\nj/l7wmyZF4umKEFuF+Mmj4bW4JdcwSdqnJcSy5wztoGgRlTYF2Nndm0wUCnf\nzhhw3L7GG3Zhg+lDgzE/NGmaPnJLxhCMuF2u9wjEMmynSrnRgi++0Z4g51u3\nlMs+d6pXqe0rKEfViDV6rpUxGGnoiIAG7GbXFeuDdWWwzrfLBpKnkm4CcVOJ\nFZyIP9CyUDsFKLEPLu0PenGs4J9EgZyiQgws0FCIwOdlSBL3o+tS03dm+t+5\nuomBeavFNwMmpEEmvMhzE2bSfeAtP5YiXjpdtGbv47TYIzGj7+S/cRKoFRuU\nPIavDhZu11ZPC7wv6+5DxZDZLlN9vh6p6ZzH6PsKHk4ewv37jLFeXsgeeMah\nlbD1\r\n=mZyg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBTpRL/G4VRNnWkP8e+5rIkt3KuElh01iJ1EcR/WYK4NAiBTac9xvqLDNfmZD4HqCs6WHC6sHZ/U1LF2youosxQLOg=="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_0.1.0_1542691054063_0.06664687986110818"},"_hasShrinkwrap":false},"0.1.1":{"name":"httpie","version":"0.1.1","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","module":"dist/httpie.mjs","main":"dist/httpie.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"node builder","pretest":"npm run build","test":"tape test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"gzip-size":"^3.0.0","mk-dirs":"^1.0.0","pretty-bytes":"^4.0.2","tap-spec":"^5.0.0","tape":"^4.9.1","terser":"^3.10.0"},"gitHead":"5c69e81d096cec5facc13df02b4b7a3bde5fd833","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@0.1.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-+W+fP1f/rmvhLiamNnJZXEeOCLcM/gk7OlwcJwWmeDSuTm/QutliUtnEVq3LJfQyiriFZ4gDHgcdmMtT7d99Nw==","shasum":"9de3049c4abbb519b44005c217692dd1987c694d","tarball":"https://registry.npmjs.org/httpie/-/httpie-0.1.1.tgz","fileCount":5,"unpackedSize":4814,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9GRFCRA9TVsSAnZWagAAE7MP/R+Frz2SC0Szn+pFZXud\n6GON86AmbeKFbO7/RlA5zeZgaqHAQMcOuysaG2fl9+UQjbXWF/GQ8HRQjS+M\nCFrhLJFZGJngDC1Qflx1yGu01G83RTM7OIm+KLIZ6+ZLN2vM/+Bal2LRUQXo\nt7Z83mR8HnzjajxDXmnJ3jrHzkYssnACTC9agaBTvXk/LAcvMIfYwNkBadKG\nNmyhGY8mO7XyzFRjwy99NTwJiulTaMj7G2PEHBvovBCDvBaWaYgNVIfrk8Uy\nwI/tKxsmNmOfyGDrPWCYn4I+LFYLGBURbQHACMi1oPeUjrk50XKwoBQ3VKjm\nbZZKmzf4SaUleYesLLxLMFgeDJM/6RX1WtKfhigYEZP6F+ESD9861Wg5nH5S\nutTBX8u4K1AXl8IIFS54oS08sKhT3xUSHZh7dEZg6hYPLNo77WlKSdQCb0JC\ntND/9+HN1VNFetAz2hRNMKznW0rky+Zrvpi86o/2BFIBfoiR291GlAg84NKY\nwlcKsGoIp1/QUeZvg3Hvm9ABiNo/YSlKbHu6Oqoj7KyXfmGKiHSEyMCuMSlS\nGgm+JazOyv7EyuEXFShhdMqe4ZKyh/43mQ2HMI+b0LJPhXwNHRpoMwgcxVmx\nrqUR0Az4nd78YCocFJC+aH7JrnbdoqRcfVxDB4xbNVLFTZJf978megn/gir+\n3Br3\r\n=HV0y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAmF2lnyRYTcQnscBEdOCMCPkYXZLKX+Jw4/vx/XGb/9AiACS5eQGsaY5k6USnWUnrsonFbN84Ymu+NlS6SObypHCQ=="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_0.1.1_1542743105190_0.6340615421335554"},"_hasShrinkwrap":false},"0.1.2":{"name":"httpie","version":"0.1.2","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","module":"dist/httpie.mjs","main":"dist/httpie.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"node builder","pretest":"npm run build","test":"tape test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"gzip-size":"^3.0.0","mk-dirs":"^1.0.0","pretty-bytes":"^4.0.2","tap-spec":"^5.0.0","tape":"^4.9.1","terser":"^3.10.0"},"gitHead":"198af9f91ccc38e0a689eafee7b7721f030f2d49","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@0.1.2","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-fmIG+kVJiflga9bR3Qfz+AKD8DKtuMP1tEOWeNAGtkAjEon33ySVtiC1BW4ArLbKR9worZjEdrUHl+FcGV9JeQ==","shasum":"a4432897326176f8b6cb61f62d5cf6928924abfb","tarball":"https://registry.npmjs.org/httpie/-/httpie-0.1.2.tgz","fileCount":5,"unpackedSize":4876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCNBSCRA9TVsSAnZWagAAHnIQAJBMMUusTOtTxCfd0KMt\nYs4Qkq95ME5JAzpmhlx8O+V/42FJPFbiw0SWC9Cg0jVNJfsWG0YSev9tjFbw\nYT9cRjDNUoB5KEMMP04GC2QDZzfdTqb3M2l4CA2/yHnBfqTy0afidqrMEcdA\nA0wlUQjEJF4m8lIGgOevIHHuRRVCuKDgVWEZ45amteoD3EybICoqoNu1SNSe\nZzdYjiRKQy3dgqtzQjTpzcWJImSdm6UeboLPkUL6RIyJt6B75jVFm6RZIRQu\nr1rQTVF0UpNJk9IhcnlVZZHhsPS4qwFOWU6o57xvR8gvfOmRTUO72CpYYXjr\n2A97JM8mry+I+Km6GyhY2ZqZ6KnwQK6+q0C0KTH1LUiaRQRQdYAM+4uCNhJu\ngS859HSWdArv1T/ndBthC1+OHRjLwWQ7oXARuA2HZDCUSO6n3iYaC/3KG5U9\nSgtiWuKR0Bo+Qx9/zFowbwI4H5VjI85QMqjJ3EVhs/Y46eMxH3MDhbXzp567\nFSPmrjk6iljQko1h9w+OJN1Q7YGtIUIMebCz4BWS51ZgeK4TZGij/OFNm/5+\n72GAYFxoR482vc3rnSGZ1QyhO7tPXu21pnsloMvJCfgA3fXYiCeeJJqXiRyb\n0mPk460UX/Oe5FLfMOxp4P5S2iESxl+3PWPdxbnq/Uy9CoMEUPScodQIirBd\n/usR\r\n=7u/w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzb5qDuB1QsrL+WngfJkvl3466lzhoOeWVQOcOf8w2BAIgQVFqxEPVgPEGi33XtcdUoWTI6IDLuqeGNbW9Gfzh5z8="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_0.1.2_1544081490298_0.5376067710425181"},"_hasShrinkwrap":false},"0.2.0":{"name":"httpie","version":"0.2.0","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","module":"dist/httpie.mjs","main":"dist/httpie.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"gitHead":"2bf7b1129a232092495dea53b5b15b968d912c2b","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@0.2.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-nnOCtKYmaG1PhWOPcGtEyHV5iss5UVB5zyOAblhllX0qTGQRbOgZGxpbnXwA9jb/ZeRpYPjksAFononww/xC1w==","shasum":"8d20fe4b765a0afb56a925af9733cac27d4546a6","tarball":"https://registry.npmjs.org/httpie/-/httpie-0.2.0.tgz","fileCount":5,"unpackedSize":5237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRPa+CRA9TVsSAnZWagAAXjsP/jjVfCYHOkktRiaa4wT9\nVD3KMToafs2hnv+PkxXg5DvnB5YrpGdERSmU8fs5HO4CJIxA0lx7ioRo12r+\nhbcLeFaeyWQRDhXWykTVvYy3yU189WsWmP9AdMeZ7mJIa1UPTulUspAQ4vLq\nj3C6Vt/ftcoavjLylKZMTZhMdyKzYm6XfeggU6G6sPMe6cUPyHtIH5aDOHCv\nYQR7XQAFzQSD9ZuEKCHQoxwicEJ0m8zYvmV3fvd/UYGGFzwGjgFIs4eSwEI0\nd0OuFd/FSfqhsaEErfjcJ8Q0/Rtf4D2eM5TJyl4DwzDE4aIwfo4ZXkDXDAc0\nQMPHr2P7iUyj3a6foK9OJ1cXqGN+HMLXjaqyMswOmYp+bGDt6Pp9yOo1F5FK\nX8BJPJevHZyMsAabTlTS0XF2MugCrCjtSJh0YoTCS3jOFCrBox3gdTMCRrQt\nhKK79BGIAI3H99XryQYT2kSxXsq+30BDdXDDBTSStJFdXMFWyUrt4EKAnlQc\nWcFSrDnbR8w8NI/qQiwA6d+A54s/WSSvSLmV6+5NrP3QFwHjUi5Qsp1ehcss\nHWUXW6k9q5z5QF1KPSchR66VwgUVhf5RIBai6l0WtlovwHZQMnMk+LJbT7mh\niXXxC5HT7OVoo5O8Xn4y1p6Sqta6QPBeOKsoTuQOlLv9P2sWI8Od0Ztdq7eX\n9E4C\r\n=urLW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFhmOLaAOi1hN4tcfVHUKUXXcGEIUHekUK7xtZsMmDOvAiATM9Wefb3A/Ps1shb7vNsk9y/UuxyDAAGT274bbZ2hoA=="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_0.2.0_1548023485767_0.543466071014532"},"_hasShrinkwrap":false},"0.3.0":{"name":"httpie","version":"0.3.0","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","module":"dist/httpie.mjs","main":"dist/httpie.js","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"gitHead":"fb053ede8455ebc9ee74b2a527933878c0b881b8","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@0.3.0","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-XJHWFWVuG7+lQ65+cg6KkfRfANrSYjwPMhGWloTRvnrb8LeHo3yOTUax5pngV4tJTkv701WVCG7hUG2JahiAew==","shasum":"7c40ae66d73f91b5193f9217e5ca50de424efb94","tarball":"https://registry.npmjs.org/httpie/-/httpie-0.3.0.tgz","fileCount":5,"unpackedSize":10559,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUeD7CRA9TVsSAnZWagAAGFoP/1pFzjo+wLKAyuMA7RRH\n0JM3vhCQSANVk8w4OFLWkMkGVJqkZ76o0twzW1ccklMYgNRxbCDT4Us4H28h\nP78E6/uzP/dJo2NaCsPOXgSCLd1WttMpwRpbHvUQDMrqOxuF1631I6LT5QV8\nYyRPgql7Nn/9VESzss91jZZ4/bisRLxCMOrROKBGCHhV1kBfjPJXx+WkkslM\nbJ7vRAJw37PbowfkKSUFiZOSPlvr+e0Sh6UfdiE4hXeDFwR/mhihohUYrFLN\nLhGPvHrdgDEQLHG1jYoqHdSW0486WpFj1vcrkHPSgC9gRXxrsRX3rhC3ll+q\n6C/2ouQt7njjLow6Y68TDlgvVmWgBdeo62pt6e1IJCb9EE02qWCdsDHgRk4R\n682buXBK/f3/+PV1ae1PGVFjbyTZb5zL17yFzoor/7aU4v1+l8ohpg4Ka1PI\nu8rjWZgpJtCpEToBWUE7JTxt0h7iL/lfIuvtjdFqt9GFFVOEad7r+P77vo+/\nc2B7I+tWAO9d6HPOBAZssXqn7FplQ494hKeYyRzQKlAAH4fNRkcbmZAeai+v\nqvCwKlVmAxy5sta+P4tkWg/ySMJVei7ZLV6LJ/7pko+7K8sl03mU6aPr9DDH\nexZB6uJ07tyo+SUoffCROQ+gCy6tRkX4k+BZq8TP7m2+dZUc5K4ckg26wgwY\nfqLt\r\n=XxKs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCo6JhCMJjx8yP7Cna08QeMDXG2c33XoWT9w69Oce3mlAIgFbMSg8zffugMnoVYrsIX8B09bXca9p5CJ0srHhW/oAc="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_0.3.0_1548869883286_0.9574724577685152"},"_hasShrinkwrap":false},"1.0.0":{"name":"httpie","version":"1.0.0","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","module":"dist/httpie.mjs","main":"dist/httpie.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.2.0","esm":"^3.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"gitHead":"53ee1d35071a01843de41f5370accc0c75e603b2","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@1.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-DEv69ovHKdmG/ALlP1QxPjKAQsOa5Fed4XlXI6rk8SMF3MG2a+UUoyXb3ZVE1m2Iuq5C+DpbJEdZ9ajFn6+alQ==","shasum":"4daa6e13b0dbf2663603f20056ac3a76b01b5e02","tarball":"https://registry.npmjs.org/httpie/-/httpie-1.0.0.tgz","fileCount":6,"unpackedSize":11333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUnG6CRA9TVsSAnZWagAARGAQAI0j6+pj2xWyJv0zzXMo\nipwcV+AlSDSjS8wC0BA+D3xY4I13JS6lQtC9EhWjZQEzrnsJzLg9ZH/YzT8/\nNeXUqPs1qJ/HlwtJZ/JfkAnZn+nDTkLu7XMN8FFXIkM+rsoHUS4yizQvYWhV\nadmRwMqGolZmNKKRJaJFU9BoXKeDmks5OeXcFLwkEEeeQtbzmMpzkCwJ++Jd\nzdsCY6vbM3z+1P7gZS0rDWYqsHE6Nb/5wSZREIISsd522Yr4OzWkliYWdmTY\nJsK6YX7fJPZrqY9Sc1ldCgWfJeMbkm3Pcqw6j6joaRjWMEGgINk7t4ectfQx\n9NVSA3f/RAZAScwMA2thVd07z+lejOUhREDol7YrgvFSgfJMjNl2qOSihi6d\nVAvSZO8Kq9H6gls2uK3IlFuwJVLsGOArhsjo1dHJpRxNYCKwpj8quL3CoNXR\nq1r+CXFursUGtiLtGRv35A/V+0KJnBKmhdrkYvm+Q1ovpq+3/AlN0RNwOV3E\n08MHRxf3X7f/lobsuxft44zGAQ2fPtAFqQYd/dL7bFU1e5hu9QA5/hby3wRp\nh6677busWWodO6Gc/IMQVbexJi76XGC8B9DU4k6LvriGo+32+ZccbWNWc/hX\nyNDj2SANtrRMI9e4WUkTzCmn848uEVRCFO/ffhpBxtZJygTRYBnmCt2Bq8iD\nyPUF\r\n=QMrR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZ7tt9n9b4fFpsq1LRufRJlNF6xM+/01MuJ4kuGP2/nAIhAKU8uX2jK2+rEoUhSGK45ecf/xNCBmwtcrLoPU+FzgM+"}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_1.0.0_1548906937432_0.5406528167064568"},"_hasShrinkwrap":false},"1.0.1":{"name":"httpie","version":"1.0.1","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","module":"dist/httpie.mjs","main":"dist/httpie.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.2.0","esm":"^3.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"gitHead":"b9c55055588d611887f61df0ae2710dea1306124","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-20jEYNfxSISspUNgDPmWk51KbOvvELBkSCuD0qiJC5/hfsUmbjr3+cG2K/IICrJWCHHoDUb/6uq9M3q8Ho1SHg==","shasum":"909053d1a114d1b19d0f49976304a570f64fad2d","tarball":"https://registry.npmjs.org/httpie/-/httpie-1.0.1.tgz","fileCount":6,"unpackedSize":11347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcU1SmCRA9TVsSAnZWagAAiVkP/20WpvGRL1emgtgNqwwA\nOJ+3Vq0yM9FYi6awFTeDhtcozMxIxbsLXQBX4BkaA1ydYVqMBsBNt14Oev+K\nKtIKqYyU57+LndudkGMbi3+3yWmZs8hRAO6yW82mkYxsGKoj/XdMe9zXEYqh\ni4SyLgqPvH5QcK5x9YcU9GhYnpIR0gRbXDkYJMyX1dVjp3vRKnjmEEzSzfhC\nhq0hgIFgZSmO+Zw0BjPHW0qY9fIwkTsOGRcMR59Ou5K0o3G4079IzTCvbizD\n+wfRQ7tJXeQKZOY6tbtAvbhoUXSoGWM1W4D7egtAvAGkqKmI9ewJNjQkSagW\nCngGhOQe04gnHrExBqfo52Ij5tAGtO6KgmVSjRavqGqFwyxEV5AZ+iuSu+Yx\n7j/JE34ceP38RaWp6fFl9oZKECGfyz3cXmbSmJBav/rHwg074ue7M7RWyutJ\n7Un2YmQkhwoiLBNSF2Tsz+czRr+8PzHiJxsx8A08VZyBvCU+Usl3lkFZr6aq\n2toZBuO1otKr67ktH+LtE04QdfKbfO6LbQ7j+zSTu9wVIfXm+grt0Vx3xuGR\nPiu7e7wtHpUjYZIiH3VTP6L49t7Mug4+kJ9hKrhLJ/Tljq7i3e8YqkeR2FkG\n8ZoHNN7vK+xaWlTy9E9XoeX3IjX+lKlU8czEi8u3xukwvwHRGnaMHTRtCazm\nLiCo\r\n=jJN0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIxv9qo310yVvPx0Bab5OE93sBvZxaIzCiFuM06T0MGAIhAJsZWwJVckKONEynCu1l34yQQ9VsLSrRsEAtr+dQkILr"}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_1.0.1_1548965030232_0.9109613313453209"},"_hasShrinkwrap":false},"1.0.2":{"name":"httpie","version":"1.0.2","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","module":"dist/httpie.mjs","main":"dist/httpie.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.2.0","esm":"^3.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"gitHead":"1d7521bb54e3b16f83d8e8affe49f4341ca29afb","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@1.0.2","_npmVersion":"6.5.0","_nodeVersion":"11.7.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-uoffc0DzM5Dvo4ONpH+mpmkp0KYpidYXzzyJFpYcZ5yaQy9LqPysaSi+gHtNL3LzMD2PTD9WEDAZbgGZb35Ebg==","shasum":"5cc6a6287e1f1d898129de3011629d66a51242b7","tarball":"https://registry.npmjs.org/httpie/-/httpie-1.0.2.tgz","fileCount":6,"unpackedSize":11377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcVbI5CRA9TVsSAnZWagAAM4EP+wXgvZod/OsCRGkhmoLa\nF+xwF3sdAVceTV2DvHKvX7B689Q1OcGI6MEX2ugpP0sOFBU8Dzr0wjlfGcj7\nqFH5cLb/aRxUEtiSvGLLVk8N1pQy4fzEhD/smT7LU7+Otx0pXfeP6GoWEQe5\nkLRCHOyBwx905fysgn+XBopVlaEyCZp4vNSIsivWred62/I+1lbY6fvk4NX3\nK7PNKmSupRzEqXcO4LA1dujxq3HPb0FqLt6VCLmE9NUfcjolrKvi0Mb3Eqm9\n0sbvIQNP5Bxt9YjEJ8BMVfFgqmlqUsGexGhXZ/3+c7PuUgkpxI64ubLGxHox\n0G5NO1Cg47e+tN68HxpLhY8ulM1TKXOOXO8M+RJhMqjMEjFterGry821CVCk\n1r40eV8XrfuxYzVsTCmZ4x9h0GQ97kcsFS4ySV11PfLyfZComxb12UbU3fs8\nI1qjuHQYv6bxhPJytRBpCdxooEJYuzUmnZFceWHzhEX0FAthzch7NriGf5/Q\nvCrBQ2z6LrhgFf5h7OrxkzfKbUDYMAqrS5BA7SpazePgy1HXM+tfw5TOfX5v\nWS4yec2YYevCXRIpAV6tKINKBzlNmK8W/Ph287AHqfZjNIEpcVipz/6M1ok+\nQjT2MvMQxiRLWkrFsVxxylPqPOdwPx0wUScwOOymPNwKx0h2gaRHCS4Ziocc\nFZLl\r\n=hzFM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCd3Wj+bsKwbHkWNeewNmhQRYuntuOOHumXB3HMIeXWQQIgBUlPid7ZPqFcXD1YFDHsS8W+cwb16Yl/9DfJOucCIJI="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_1.0.2_1549120056500_0.9352471163613001"},"_hasShrinkwrap":false},"1.1.0":{"name":"httpie","version":"1.1.0","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","module":"dist/httpie.mjs","main":"dist/httpie.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.2.0","esm":"^3.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"gitHead":"8e275ed3f13e08de7559575e2bf65c66846941d3","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-KjtDfJhlkIpaZtLtudPQf1TO2AelyoBavcGX2VZWGl3ZpThwfMttoX19cFkja8Xd02B6L6xbZ7e0FMFGrDCy3w==","shasum":"f7daa2c5aad872254efd7317a1a5748037dcaf4c","tarball":"https://registry.npmjs.org/httpie/-/httpie-1.1.0.tgz","fileCount":6,"unpackedSize":11869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcV6NaCRA9TVsSAnZWagAAfGwP/jw083VWXFPQ/ZJkbuXG\n1e/9TmAX1pHSLN9B3q+SbPwqVa7UuEEhChJeIO73j6dMXJ9vdpAC5wCtrlLc\njpVrOm+B5s3Zv+SsCZ4xQvQLME0ZxpKQHWxyjtCMTTYSf3/4+MApnFXqe+Dx\nici57P79jduwILA3M4lK9rpo0+mZbkn/wUs19IxqGtYQegqD36GZx/GezJNC\nBZ03WGdOmpqQ7Y1SuLON4odnUbWd+ReYqIH8H6nE1lgM0ngjLhxSx+ywFT9r\nV4GgOZ3gcg33IwuZmueGjijYoaA9x3tNLgdoVG7gEzuuNjfwWfaoLMujXdiv\nC3W5npvnruORz0h91Az7s1y2W97CFwW1Wa0x4abARxGUdqkdUDOgCIdnKqmR\nOEWlIn2modRr26+Xf0WAi/6tjKeskZx1ydiF9DkC4KcLbD9SQtMdNEj19fhN\nLZJIgP4E6tj3kl5lVrAXKwdtG8u8/C2cHyTl/FshtS+Hjjp2i9cSJKmJyVKe\nNOc9lGjfHQ/cdmYAx1ccaVZVpHzK4XYN7bEiZXRxMBk7rpG22yU82xOyllVf\nOHU1uNIZ0U2D8gV+IYmzrE04lIcDOhXW6lMvEZjaWZepsnzWLd3cbbZT4USf\nN5L5uvMeywrinINNAqRgGaU4y1ON3uo9crlZgb7T332708u0XiAXIZcEPReY\nLqMR\r\n=Jt83\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9Hnnhjyz3IiPX+LsgrlX/D7QCGm+lQ1HLr3U1b3/cKwIhALkFRLqC+yO0hc5X0Hcjid5Eh4YiMH3Bj0FszI+bEITS"}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_1.1.0_1549247321236_0.952757627378022"},"_hasShrinkwrap":false},"1.1.1":{"name":"httpie","version":"1.1.1","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","module":"dist/httpie.mjs","main":"dist/httpie.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.2.0","esm":"^3.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"gitHead":"f4306e0c5533e3c7307ddb4e8b97ea84b45f3aac","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@1.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-KYgUXOhxVPo5mYuFPqnKW14fP5goMGkLc9CRz0WD6b1TCED9nl9wzj4jqr+8LY+AhPJQ/LdCQLRfF2JrBEja5Q==","shasum":"e7af5c6cca43fac61a6f0ae7da6d3060e7cda555","tarball":"https://registry.npmjs.org/httpie/-/httpie-1.1.1.tgz","fileCount":8,"unpackedSize":14331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJci/w6CRA9TVsSAnZWagAA20YQAJuUCjqfi497BEu6vOLq\nuV5ZPxP2ysOFUbJH6Z0bMnB92ZV3giI9TGlcflg3DD21HXHSFbAY/Ngy8iqR\nb29oMt/tR/roEutpshbDbojgnZg8zPzvpHsJYBtxTl4zGgAPayj9dF4V08Ap\nkVV9cGvvouH4fNGxf8eMXU1rI7H6NdNymmAA0xFjiC5kE0dGERuoEHrcbXCU\nWHB7IcjEB3t8hbnabdFZZSZ0Bl54P79WxY46jnUoR4ikGcebhGD9YJho8tjz\nb1v+Jq71nMJyHUjJJECayeZdvhat/4NcZFnlygh2Sg2N5DUnCvQWAYZKnAb+\nqtnlfrGp3CmfOf3tZkn9oKfrHY2/JhXt8IpE4i8jfsyspGUdomrMnIiwonha\nTxcS7sRUv3fkZT38qbFLcddMQaNW3UK3patgxEGdxstGrfFN/Dzz0/Rdw6Zk\nDKkp8qNZCwbu2E3hsqNt8J16iIGZeLQw9zAJV2DCnbVaSmYfVyN9V1HISmRI\nQMYJxGrYCb8hlfWMk1G95ZS+tCE0bLnihLr9Q2958Crs2Im2YPjHRwshxM5L\n4dDBhcB45mvaApAYKQHproLmJv/lHvSEBAMMQx0Mh1YBQRDeUm/v6yqxGWpp\nsOxypNWIoVs5w6lIbs0CKLCMo4bFcrozcd/8WhH+rQvUhERE4PtW3KVVLz1t\nYZ+x\r\n=Y69W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBrePzD80AzAEJeOHtTfox9RVlXla8hS3vk5NGE/Mq0wIhAPengDi/voTZzSIPXvpW5NOqT8La1mGOTAXDjMG9723/"}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_1.1.1_1552677945992_0.9321437945484927"},"_hasShrinkwrap":false},"1.1.2":{"name":"httpie","version":"1.1.2","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","module":"dist/httpie.mjs","main":"dist/httpie.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"bundt","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.2.0","esm":"^3.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"gitHead":"8d8f45e9d6be87a1782a0f0ad165047e50ea6009","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@1.1.2","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-VQ82oXG95oY1fQw/XecHuvcFBA+lZQ9Vwj1RfLcO8a7HpDd4cc2ukwpJt+TUlFaLUAzZErylxWu6wclJ1rUhUQ==","shasum":"e76a6792c2172446ea6df8805977a6f57bc9615d","tarball":"https://registry.npmjs.org/httpie/-/httpie-1.1.2.tgz","fileCount":8,"unpackedSize":14572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2RJjCRA9TVsSAnZWagAA+tIP/RzPEcpGURVW6V2gyds0\no8Mw3uUD1MndI1RPxhg6GHRPCV71zaXPIRbz4JeELDkUL1aBJT6CAr605/x6\nQ9yeR09iBd90sVuHQWTPCLsnIhWM5u0JkTCSTRjbwVVgo6kCWSYghxf8q2cu\nxMhBGGWH2iiSVnMT5LhNZShajrAcHHk3a4EKd89a4VaWrM+4MayPFeK61ejV\nec7Mr2N20vsju6IhzHG1eF8fl70Ytm/+FTd/CipGyKdBFTu1BT4EBK2AnnLU\n95xuqgIH4Xf48euFUJR1wh5pXjZeYwcCqYA/NGZnwT4F0KvnIbvXB5R6TbjR\n2WJTprJX60dWYJG3B/H7KcDgAx4P0UQEZAnp2brGFJUpKDomohm9XAh4bjdD\nqNslzdBey72BV3CKv0W9+Cyie32CXIcd1PB3ffgzVwhaZzoIyeKJbsmrCjNB\nHr2t/lG7f/RasGwd6kvlRCQ2w4WJtwPeaeSyG9Me4Wc/5C84GEWDBAX74zpT\nBKy4MReRUz34UeQPiBDTzimg9g0VoZ3BYdzrPrcltxkJW+2MotYddlld4i8T\nthK2jnaWDBaRtHi0rZwjMrAGkmKTRYXyR3S6caX099BUoyarVhcLoQ6Y11F3\nvqGLvVqoMmjoPeRyUPeaNwQk9fHluGnMZaYg1oATROZX4X2HU2SryI1DJmH1\npljq\r\n=EPU+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDULIwOZbh/UOQI8kwO8vuLGACzMxMapEGo9IUpOsA3iAIhAJ3VeN+vamXFuoqCupgNy7DIsxG34fMgY0I60vR4ZOtJ"}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_1.1.2_1557729890464_0.22108989617258845"},"_hasShrinkwrap":false},"2.0.0-next.0":{"name":"httpie","version":"2.0.0-next.0","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","browser":"dist/httpie.esm.js","unpkg":"dist/httpie.min.js","module":"dist/httpie.mjs","main":"dist/httpie.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"npm run build:node && npm run build:client","build:client":"bundt src/browser.js --unpkg --browser","build:node":"bundt src/index.js --main --module","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.4.0","esm":"^3.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/travis/lukeed/httpie\" alt=\"travis\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"680d24519b74bea6924e91afe8b7753d9db641f0","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-iCA/SZVVybavrVXeEr2SjHUqhJe7tpLG/8LzHYoP7c8XLtKMd3mGOTK4z5dKI5SfLM/Wd9GKS118Ya0Jt44c3g==","shasum":"49154da957d951df8c78246f776cf9cd97f1e40a","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.0.tgz","fileCount":8,"unpackedSize":16034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5Oe0CRA9TVsSAnZWagAAaSkP+wUBmB+8qsIKXVO72629\n90dTHHyRMyKoudRZw2RxSyfsGmy84Y7ewWp6eMweq/2GZb+PdxgkPbJ1/Mr2\nxeO79wutWfsRqo6T6nXMxeAUDb1CGU0RfYv/iRTPQGIcf4pirClrNzkkUglR\n/JHBMQ8wl5Tr9EZs7L20RnsMDBK0d/cxLxxaFRncdos5GMlqJwPJJrhknVOb\nwTD+QAMY++DFLiANrMLYiqtX5Jv6KcgIao3WqQrpvymV3T+/tAodmClEmNnb\nzHAVCVt4Q4Mw7UsNA/UrZtYrlVILtYKypzdnkrhETEyhubIzjt2qHDk6AE2j\nHOOVvGMsKwBHuY69cBRbAkkl4ndEg72ODkJ/at/wYgO00cO6gty5aNQNagk/\no+++LewRRnNJi4aE9IQci8zFQNaGrAM7ySMxP36iA8JQUqbTHLbiRzjZyqbQ\nPeotew8j1LMuO8h7CkmH4ALBz7y9q4DOtuZWjaTIIK69KtIYFm+XakGwx34n\nsrGBfSq/G4CyHTKJISefQ1ULZRUspkjzhfz2MH13K4sfERYQaEtc9Hl8ludA\n+C+KIeFub9oZBEJGSaTzlL8b3cdYNUBbgFr1ezh1J2RkuXhCBM5JuWCO2bHB\nKVdmDTEk6W+iVAO55nugfvwywljUe/ihz2BwsTUUPAcxNRO1BX3ITnc3BA1X\nYPM7\r\n=oooD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQ/ASYjJVPs+tFeMk9QWjfAHDwt812BTCd2WhceJKspQIgVvQMquufUHL58q6HbBYuPhxsICnrjVuHPxJR3uojHhw="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.0_1558505395934_0.783389268278696"},"_hasShrinkwrap":false},"2.0.0-next.1":{"name":"httpie","version":"2.0.0-next.1","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","browser":"dist/httpie.esm.js","unpkg":"dist/httpie.min.js","module":"dist/httpie.mjs","main":"dist/httpie.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"npm run build:node && npm run build:client","build:client":"bundt src/browser.js --unpkg --browser","build:node":"bundt src/index.js --main --module","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.4.0","esm":"^3.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/travis/lukeed/httpie\" alt=\"travis\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"7d606afefef2e71b9a1c947c1bb9883c240569a2","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.1","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-fpLWn0zunZVcuKdqgHtHyT+T4bttRBPj1FBewXloXpXWNsKj+iV52z/nQZqvzHN8C+7C0s+FA3WtvjuQBAsrQQ==","shasum":"6618a2d65081325f291ca4d69bfd92957875b7aa","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.1.tgz","fileCount":8,"unpackedSize":16046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5dlcCRA9TVsSAnZWagAAtRQP/j97GFhYTlhw6BvNf6+v\nm8t8YJgA0Vze4o+AoAX28WmZkzuVpAnjdOZcM9U2UrNy3StSvV8lzfmLGjNL\nKJ8RfqEBurwQLBDz7oi4Dqd9vjdqKDhWmPpK2Ww4ZXUoOMJbqsUeTtDtVRtd\n6JaoORv2xGin8RyLZkPgXyJvYFSYk8pp8ZrvPUdQROrHtBwaowuUnoJiI2ua\n08yhA/BdnMtGudXdKSV/xQsWjv6n3uPyR5MZKPgN1XSWJyYCnhMXsgp284HH\nCQAKYH1Z/GjgBGsFrn+RNTzh7KK4XyZlB2DEw4in4X9gjHYiUEDQauNxiwwv\nf3jIKTUHn7bsjYMQTrEjqIlTfCluq6UEpCIEUnHAm7WsV78F/f5AHlByyy9e\norrHEMJIjKCiuyFXRpsadHDtyKwXQiASWxXFfMD8qnS2DRLjFsQRuS0YDuy/\nGx1at4Tj4wTtTSPRyZDnwVLKa8XKpJxoQ7WBdpTjMM0P6B+kC8+iUVncz6Du\nEJ4uWdhQ/NQ3DDSoQWzxdW8tMM3CG8XwWEjEvh6VP8AHdiVTWH4udM2o7uwh\ns3kgqOabcWiiXQ4A9NHtxGrUzyASqzGRmytcOiMkg9IieX1Eon1+hE+avH+P\nCaEzbH0fLMoQDAO+PvLLe+iEABtyKc3zM0FSzfvGsOVuUJMEEQtkppcQVFod\nhUh4\r\n=V1Te\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFXCizQYy2xxudDHhVjypMtLba7vlZPIisTha9Ez7pYwIhAO0l9tYKyuzti1a5xM3SZYQhfuYFSUg6AKREBdb59ujO"}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.1_1558567259142_0.2190519497021357"},"_hasShrinkwrap":false},"2.0.0-next.2":{"name":"httpie","version":"2.0.0-next.2","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","browser":"dist/httpie.esm.js","unpkg":"dist/httpie.min.js","module":"dist/httpie.mjs","main":"dist/httpie.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"npm run build:node && npm run build:client","build:client":"bundt src/browser.js --unpkg --browser","build:node":"bundt src/index.js --main --module","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.4.0","esm":"^3.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/travis/lukeed/httpie\" alt=\"travis\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"e58331a12d9b4b5b7dd0a37fc0de57555158e1ca","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.2","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-QcYtyrn69p9VDy9SCNCDWAKmSz+wCHII4dc3fnHKA05ePiTeeltLvnnq+FyQPnsOrtpmLPd805FbmcXhtMljtA==","shasum":"c858f135b09265b2adb7d318198f1822d87253aa","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.2.tgz","fileCount":8,"unpackedSize":15950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc6DwRCRA9TVsSAnZWagAAJjkP/21t8wtiwhsvGxKdYXEW\n7FUShGvInBbtKCs/6V5mAIRLUGu0byFHYAA4faE50xzQ1ux46vKI3q0GjP6u\nEQAHPUJ3T3OP3zycA8V3+DpROnTU7oi3WtCHGJRYqfSbpqULE453t88C7Edu\ny0J5SgQ1H2edIxKIXnwsDWRMYzKxJ8scMsRoGgZEUWcWMHe1SQK7Mt6myi56\nMZNBSpR7On8arlkCeWNbLWeKRn7E9V7cFS5TEtEURz7hEVi+3+EwWYYzLziJ\nfdgcKDgYFbMqQ62PgXD4kCn2RvTa7fU/Xw6EZ/wfvI8Qg9OqbMzsPFmbPuS9\n4RWqwJE+vIiC4Hd+TlBH1LCB53ox9C55UypxN806KOjkbfcjXLfGKMphSVVR\nSG9IidIKGkUqqIetSOJOopEEArkOApDBXw2u+Qz3ak+TQI8c6Wbcxz6ma8VY\nE7ZLY6n4OVM4f7erOf5byWUfZsMRpC22CjkaCZEPHsL3uPk9wUF11mujYSQI\nFURt6kEaPjPnBFMJ17RZzAYiPjaaTWcREn2bdHpMlLNSuxfh/uXRp5Hg+5zs\n6/EKRSjc6u9l2Cc6166oF5qLhTzcM7eG4qwRWJSW2yv/9McctH82oKQ3899Q\nOkVOI1HgGRk9SYcFJZ52SlUYQRjbqJrj4jOq8dm9KPngJOKQGdW1SfxT0+gF\naYSq\r\n=+BWB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC4AuxfUHXE3/voaln68FiiX7edYrJN6v9qrNXmOtxGmAiAckd7ssLwXhsNKQZE0Nkv7ezZebGLIC4LqO8xYAteJfg=="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.2_1558723600514_0.7190269548902066"},"_hasShrinkwrap":false},"2.0.0-next.3":{"name":"httpie","version":"2.0.0-next.3","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","browser":"dist/httpie.esm.js","unpkg":"dist/httpie.min.js","module":"dist/httpie.mjs","main":"dist/httpie.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"npm run build:node && npm run build:client","build:client":"bundt src/browser.js --unpkg --browser","build:node":"bundt src/index.js --main --module","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.4.0","esm":"^3.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/travis/lukeed/httpie\" alt=\"travis\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"efa8b4fa7ecf0cf1522fd9dc0b157291c2e6f786","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.3","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-HIWXUBIywDIKOiZthjQJSTNdrzzGXq8exBWka5xwxn+Nw6iNOVlaN4r6/jzFFO7/Bhsi/eSI2yRV7aDMM7yT+g==","shasum":"553f1eabe43cce873a8c4857243a445f0ba3d83a","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.3.tgz","fileCount":8,"unpackedSize":15938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd99fACRA9TVsSAnZWagAAzPUP/joVzfsXJokXW7x6HOzY\n4cLPDNMZVoBgNbzrIepSVvJn2kA2Iaxh6qkA48XjdiF1l4NYIIqbqPNA9t/n\npHxzADTK1cfa1t/Wn0DKODPZdHFGRZ4tGqZC5fzwjxRRUGWL6pSQwcZjur8n\n9NFDy1IF0SoSidofimuk0ReVaHAJ3yoJTvFPsxof5dRJE1Bcgcx0PVINlr23\nSLR8ORnYLkhmXKGgePgQLqfoBnIhc4LfTnhtBlNrF5AljWGu46nbzPUpu7Zh\nfVbkBorH+XMvTT+ITEj3O8KGf5gpLG11wJ3M1mFrrS5q/K/Wo6mH9YttREHv\nNJF1h6nLoyWn/keAp8H6rdncpcDi9NwGx5iBer5ZMnTm9nIHENKMZB/gVpJB\nJNr4htuJC/iLTZl3QGfRecDaUn6lHV8ROSEe621ydfdQPGC8D8i8pyE5vSsK\nAwk1gCYjKk4cNtc1MI/M49hnanNJxw9c9Eo/DYe7BwOCwq41GwtHOEA8GM0A\ncWtVX2s+mLPR62nvsBp4//2MiKWz0jLYIB7fJWU5UycSKB3iGWaTlZcprD/U\nF/BHWpUyf4KTgKZuBX0Y+NQfWFgBvBqxhcmtTJp8xMbccyYhaZ3aOBdU22LG\nN3IpuTw6ciGfyz0KDgB12dWF4Bz6moHsQMNIkxeAD1JE3xvMR71/wcs6Oscm\nCwFq\r\n=TmQS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC19v0nh5bS8izHvmR9jGuMpSpxXqL1FJfN9qKDIQ+zJwIhALssi32W0JTbnQOJcnTfyB8AEII9OUON59lbhnfgnR1l"}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.3_1576523711587_0.017922370032983803"},"_hasShrinkwrap":false},"2.0.0-next.4":{"name":"httpie","version":"2.0.0-next.4","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","browser":"dist/httpie.esm.js","unpkg":"dist/httpie.min.js","module":"dist/httpie.mjs","main":"dist/httpie.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"npm run build:node && npm run build:client","build:client":"bundt src/browser.js --unpkg --browser","build:node":"bundt src/index.js --main --module","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","client","request","promise"],"devDependencies":{"bundt":"^0.4.0","esm":"^3.2.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/travis/lukeed/httpie\" alt=\"travis\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n#### opts.withCredentials\nType: `Boolean`<br>\nDefault: `false`\n\nWhether or not cross-site requests should include credentials (such as cookies).<br>\nThis value is passed directly to [`XMLHttpRequest.withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).\n\n**Important**: This is for the **browser version** only!\n\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"9171ea68cc95c0026064ba414a04345cabace47b","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.4","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-f7vDU0UtHu/pv6x2aIP0X/TuNHxtCQY5HBxuylLKIhYv3XWm1+hvL9Nb9B2SqkWOFPgN7RSC3UJL2U36/VY6fA==","shasum":"b7e0a4fe6bb23fc5a9b0d92b045cc261d15c6011","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.4.tgz","fileCount":8,"unpackedSize":16390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMjyLCRA9TVsSAnZWagAAnFUP/3BXq3UhqpP5hxtSVZAU\nO4aDvbmlCbUju1NofLO3RK0jgU3sxA5o14yy1N+h2+7zJmeVnoF6OH3Zjvk5\n4OB36RX4E98NUUdp0gJHLlUtL4G1gW76a2+MVFpmSpknwVVmqb1zAVXmuh7R\n0cU8ZFAiD3XYTnfbJOLlFz4jDOhuFyBR7YrGaTtUI0AiuZx2CsxPY4yLjp0R\nq3kdl8Aff4/uc7f1IRNmTrQgia7iDYQu/kRkG0IKKBXY6RUHWS64+wuXLHHa\n2CFsCGRVT1AdwQXGqgjE2osqhrarGd70gKX6Z2zUbQsiSnW8UZ6gKjlk0W07\nVQyUeq90Ac/iXa/+kfVZvXDlX1SPx66ON+bRSTXx1NN9wAYOOPcVHcwtSCgh\nT7nUsM7rmGWOo+uXbfh0kOgr44wD5cyVmauo2dvI+FBbpDxkc5b/x6V3dPnk\nYYTjoo7vvOr4J60mJHQp9KxnnOYF0LpZrHsN3/VZFqcDl2ykLWIgq9TEhDKp\nOQffsoEpDDGbO7Yc9S0jXPrFjjNple608FTuAXVahql+2fnGr0ZLzsPz9krR\nsvmiHI1DMaE2whnke22kphfbrJn8GBSEcp5llN9lJRDboklLmWm9P76cIF98\nxi8c1rKnXXk/+PCVZYHq2NqK/7ksCMevpeEn9YdfXDB/GKEJWiFDkhsjlIHl\nGmYr\r\n=e6Gb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGirOUa5kBVVC+6qH9pM0mPK9TTVmpYvRq3S99mWUUMhAiAQ4FW57h8VRpJ0k6kCU6iK+BIgZs+QIpzd9aR2KgHkCA=="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.4_1580350602769_0.013192336417894968"},"_hasShrinkwrap":false},"2.0.0-next.5":{"name":"httpie","version":"2.0.0-next.5","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","browser":"dist/index.esm.js","unpkg":"dist/index.min.js","module":"dist/index.mjs","main":"dist/index.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"node bin","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","fetch","client","request","universal","promise","xhr"],"devDependencies":{"bundt":"^0.4.0","esm":"^3.2.0","premove":"1.0.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/travis/lukeed/httpie\" alt=\"travis\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n#### opts.withCredentials\nType: `Boolean`<br>\nDefault: `false`\n\nWhether or not cross-site requests should include credentials (such as cookies).<br>\nThis value is passed directly to [`XMLHttpRequest.withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).\n\n**Important**: This is for the **browser version** only!\n\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"c65e7a804501c047b221ca674fb854a4953e27cf","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.5","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-u5H/PcTWbLw4UVvwCvzkyTDT+HEEawqBiBpI70RcqC57fPne0/IxdGpP2qHW9wipR4TV7/MwTbus4VZ1zmOh4g==","shasum":"19927a30d4d5165a021b87f9bcd69c40ab7bcb38","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.5.tgz","fileCount":8,"unpackedSize":15115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOmWqCRA9TVsSAnZWagAAw7IP/37WL5fnNLn6HNCcY8XP\nSAubBqludfoUVrT4LHksq/INm+b3MldUisJ9U80mZGq6ORGCsZnP3F7Hbh6o\n7oiBRTp6I1FkpDq2njhdHdZDac21POOVKuQKe8sI4R6JwFuKuRXiECw8uqdf\nW7EpAcgI7kK8byasW05M5P460Y6laGo80Oz+KL07QhvwImaSgTD3sMyvHhmB\nStSMoHKuN/rtBZCFQPiTmfYW+9LztuihgOXpn8DAlKjEYgijzjsxSv/Sf5db\nRW2NMbN8FAPq09WGaB28VkQqFa2cRmVXQ9gRRD//lyYBZLRMZ56+e0S6ACoS\ns67cnmIn7kbQY9nhv1Yco31BfGO4siCaa8EQj5TQ+9mjWK1ePDUU2JO/mFL/\nWZ0e43VHrmY9V//43RciNDRl+1dZh63miFdXpyb+PCNtA5osgzfWzC+0BBTU\nfakVu3HI9GcPvCBpMGSZ55PppfKqa11NN2JIWDDrViaM5Hwdl3h7+0fRXZNC\n/YacEVLbedkGDu7isazwDxnC/7hyX96YcDTG7AK3XB4zk7gkNKZ7Fc4qQr21\nkcgsqGW8w/Gd9wXWsFMGIO01neoU3HyMQ+xR6iZCqOc65lZHBxrKyS/GDqEJ\nKh86oOKLitxX8OZnR32+MaQJRwQukUCj0qQIw/ANWklgdz5HVE7mlzyHEeL4\nz8uh\r\n=ivai\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxyR1DIXr6NqwCyYhD8tJPAIpVVtnuHok7fOncIn90rAIgFDCzMgmKFmkTL8dUXfQbzGkBQhoRb5CmH3mmckkwHvQ="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.5_1580885418126_0.4576488195696926"},"_hasShrinkwrap":false},"2.0.0-next.6":{"name":"httpie","version":"2.0.0-next.6","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","browser":"dist/index.esm.js","unpkg":"dist/index.min.js","module":"dist/index.mjs","main":"dist/index.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=8"},"scripts":{"build":"node bin","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","fetch","client","request","universal","promise","xhr"],"devDependencies":{"bundt":"^0.4.0","esm":"^3.2.0","premove":"1.0.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/travis/lukeed/httpie\" alt=\"travis\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n#### opts.withCredentials\nType: `Boolean`<br>\nDefault: `false`\n\nWhether or not cross-site requests should include credentials (such as cookies).<br>\nThis value is passed directly to [`XMLHttpRequest.withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).\n\n**Important**: This is for the **browser version** only!\n\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"dadcace3092b53282f247d93bf6d4995e5093020","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.6","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-BDU0Oq2j1mQyRWJYwALKDhRHJtRb90ZY2s+rm86F6PEVO8cn7ugMwD2ZzdV09IvJcRg6lz1I/5Op9Uvpb7v66g==","shasum":"1d5c182ae1ade633ca97990988cf354d3b4a2b4d","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.6.tgz","fileCount":11,"unpackedSize":20398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOmYVCRA9TVsSAnZWagAA9E4QAJxnAN5Yyar+DuX3BeTI\nKD6kzUKu2WYU0FNaH3Bkm34NWJKgK8CcZzMi783pPpJaV3yJESojiTwkbowm\nt3kZyWu8l91siaNvNdbCm8eCkEPUTBxuile+LQDSQKNtFAXFXtBe9CS99gi6\ngkk0Eq9RXygjL/yIWA0OeBd33PS3bwfTA6Q4mm6D0uGDuBdMINuSq49YqMk9\nuMF7OPHtDo4BzrMYBkQ8He+hVcVIcAYoVQqb94kiS6Dzrhi+Jn+cdNXMEfDP\nJV5p5cnox5kR1VYdR9dbYh5r2EkR38AVpRDx05MDV2UQukxemP/tTpraY9bF\n64IquiAfbRVhEzi3rQIvMYTAyMQ0UDYUA/WeLh760hTxrCLFHuXN+C4Bsc0F\nf8DVXRFj4WCODcszK4TAjCoZhBDJLMEdNyYAby2wpunWR5rSvxaEz+T7RqBX\nxxIhjN94bXq8FEo4XX4YphdVJwra4j28/ynamaszk/gek0EWVPG7RTuLJkWf\nEr/ets+OaiaoeD1hLhSovxoehMf8mNzvEuwmXr9wAb+TkKB6lJ3UZ+h4K0WL\nRKYE51TtzUeHuHOrou6E5lc9UZyqQKJ/i1gXb8aTHAq2KORsaHqECN4skpr6\nGKknZzeUVt21FCPXjbfHh4auTrawD2jTGz1HM0+uHXuK1+KBpZD/QRsYbK3X\n3+hD\r\n=p4rY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVp6ahgEiqO/NrFx+Sz4Rh0RtdCN0yEcXfcvS5d8KCiAIgfAUcHnM/UBV1jdt47LgFLya2Rs3XatgIFAubLqS3vAg="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.6_1580885524951_0.24737750270589753"},"_hasShrinkwrap":false},"2.0.0-next.7":{"name":"httpie","version":"2.0.0-next.7","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","unpkg":"dist/index.min.js","browser":"dist/index.esm.js","worker":"fetch/index.mjs","module":"dist/index.mjs","main":"dist/index.js","types":"httpie.d.ts","license":"MIT","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=10"},"scripts":{"build":"node bin","pretest":"npm run build","test":"tape -r esm test/*.js | tap-spec"},"keywords":["http","fetch","client","request","universal","promise","xhr"],"devDependencies":{"bundt":"^0.4.0","esm":"^3.2.0","premove":"1.0.0","tap-spec":"^5.0.0","tape":"^4.9.1"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/travis/lukeed/httpie\" alt=\"travis\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n#### opts.withCredentials\nType: `Boolean`<br>\nDefault: `false`\n\nWhether or not cross-site requests should include credentials (such as cookies).<br>\nThis value is passed directly to [`XMLHttpRequest.withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).\n\n**Important**: This is for the **browser version** only!\n\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"b55617e4964ae41bd6d11c069f2fe7365433df00","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.7","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"dist":{"integrity":"sha512-LsfblquX/0FTF1k3qy3VtCfHcOOpQlhEkPRy1KO99yon20HGw2NUtsx4s1+RSwYq+lngtmn45eBDBgJ7tSclEQ==","shasum":"32f7963e4adf12b2c43ec0ab94c57576e970d6f5","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.7.tgz","fileCount":11,"unpackedSize":20450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiCjOCRA9TVsSAnZWagAAom4QAIv98c2atn7tAEW39Hmm\nGaAdq2z9aKjHlX50KmC7FoNVjIkcKQEuWDmmQuQytDmmbeAKrowfavc1T8Ay\nYemo2NDMHAHSqbOzj20NOKe6uPYsd0/iQfMznsP8H/XeeOP9Jg/yLb0y8EZS\nVq6WGwl31fg2/NaxatA/ccVDNNoQ7ZpdixuDuRqoWbIIvZ1ORHLmDoB50Fks\n2KTXs7jzFem/sgMs/B2vP5HV0y5F7uF93BkHGlC4FxfZPpBDwcdp8npJBv8y\nPYX+jWQYCKw62CAWSas9z0+HR0dLrtFf6L2IFwE7ew7B6ViRwkd+fjIFroZh\nXFdvaV2irgG0j+S4z+mKeWu1M2Ahlx4q2Q3WSwhhuxtpMDtMKwcUXCtnklkZ\nUtTk+PL72uUjVbgz0SIpW1ncr6V7cBfxtieVLXDFbag3RAFLYK9JuNcMBjvp\nRHqbmReYLRTWOZJ7BHRGthXuu7+y5PRGkk8NgFVrWJfnJUheuNhUexwEqIcP\nAEPcvAuyNez8LWlKx+A++99ATFS+vkQCvZc5yZyJoiqcwE+JjYDpuoB9Y/UQ\n4i5bTjWB38arj7rCQ8yQMTt8gBdUTL7xzvQIFaxPJiX49BxbBkGFLEw0o0Zt\n0l5hY7Mv9plU/NgKICvm+KYxSOLzDoUNyEyqOdBMcrj88ttf8peoIpCeQILE\nk8WS\r\n=oFM6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBeTqkYOwJY36nPniwW8o6uEdRDy2woxTsgkfFGHRklfAiEA9HdJJ2VlgbX2xHi5/vY+6q2bz21rR3qItyugf1VpPI0="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.7_1585981645857_0.522714447488299"},"_hasShrinkwrap":false},"2.0.0-next.8":{"name":"httpie","version":"2.0.0-next.8","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based HTTP client for Node.js and the browser~!","browser":"xhr/index.mjs","unpkg":"xhr/index.min.js","worker":"fetch/index.mjs","module":"node/index.mjs","main":"node/index.js","types":"httpie.d.ts","license":"MIT","exports":{"./":{"import":"./node/index.mjs","require":"./node/index.js","browser":"./xhr/index.mjs","worker":"./fetch/index.mjs"},"./node":{"import":"./node/index.mjs","require":"./node/index.js"},"./fetch":{"import":"./fetch/index.mjs","require":"./fetch/index.js"},"./browser":{"import":"./xhr/index.mjs","require":"./xhr/index.js"},"./xhr":{"import":"./xhr/index.mjs","require":"./xhr/index.js"}},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=10"},"scripts":{"pretest":"npm run build","build":"bundt --main --module --unpkg","test":"uvu -r esm test"},"modes":{"fetch":"src/fetch.js","node":"src/node.js","xhr":"src/xhr.js"},"keywords":["http","fetch","client","request","universal","promise","xhr"],"devDependencies":{"bundt":"1.0.1","esm":"3.2.25","uvu":"0.0.11"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://github.com/lukeed/httpie/workflows/CI/badge.svg\" alt=\"CI\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js and browser HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n#### opts.withCredentials\nType: `Boolean`<br>\nDefault: `false`\n\nWhether or not cross-site requests should include credentials (such as cookies).<br>\nThis value is passed directly to [`XMLHttpRequest.withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).\n\n**Important**: This is for the **browser version** only!\n\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"1cc0285d6e0a61c5aa9188744e5eb322be2826c8","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.8","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ml4pww19ImVmJlTYPA2QuQxBL/z5Xma5QZQ3iySJODGBqVSWTUbr2mz8Mv/3aDoUXeJw4hKNcdmhHCUgmilcog==","shasum":"8ec441303f69dce949eda57feb64c2e039a8aa43","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.8.tgz","fileCount":13,"unpackedSize":26129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7BSlCRA9TVsSAnZWagAA9TwQAI+uU2+ruhEkA9Xem8is\nN5ttbhsdS9427jgVNZR600feCCb634ZBvYI+devnKwqLnwaiDwT6s2a1NINq\nzG+4vanZLI+LzbLK5J4OLbE4IAFPYOQC65sKZRRqL4Fk52qCXBxFzF0l4Y2D\nEI7trHfUcHa8L1IyCPMO6+QFRc5jZ8sp2rwdPMvDPdEs5GJCwXtGWbiEVg7Y\nAKwkj8u+5WwPT7eu3hzd6W4Nqfg/MxNeegQSMg2G5SPnzt5d+yp4VPcF2stT\n2dq8w7Hu4LvcBj6Ou0A9eC2l9vV2NswBCQsYyzaMegzMRT5jx6o7I/Bppu03\n+k77KfHXi7ntmmPYi5qRbR8DFLFhpsnynmp4GFGxppZnfypIpf62aIPdHgUo\nb6AT3wUr71UUs5wCxU/uenEg4w1gF9Wyb9f2Hvvdp6e76UTIH652LdRBnzki\nRrNVqAY3j9bWE/9sUUwH66brxgMLeE3l5EtCvfFL74PNZOPGiyReNRjIV5qQ\nR0mASkChcMKASJHYwq5kAAV439hheeJMoBTD4U3SkyXBiA0fuJfbvXPXBImZ\nJ4Snd8ZrWK4L3+Qqo8PGo0pehAYMWypHRdJEqumHdZ/C/bkIywbZ3omH9yzV\nY/fmY9Qz2acdm/SyniBfD1c+Xc4Y36MCsGm/SWb/x8fa1y5A5sPfYj0ivrW8\ne9wj\r\n=/IV4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAMtlFrQD69kX87Vo0dsTB9+ll6GDrjaylUmdZ4hIzMYAiEA+FpMkcdEV2KaUfynz4Hxgva32sCjxUOZYPY0QRmTnKY="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.8_1592530085253_0.11051182568396056"},"_hasShrinkwrap":false},"2.0.0-next.9":{"name":"httpie","version":"2.0.0-next.9","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based HTTP client for Node.js and the browser~!","browser":"xhr/index.mjs","unpkg":"xhr/index.min.js","worker":"fetch/index.mjs","module":"node/index.mjs","main":"node/index.js","types":"httpie.d.ts","license":"MIT","exports":{".":{"import":"./node/index.mjs","require":"./node/index.js","browser":"./xhr/index.mjs","worker":"./fetch/index.mjs"},"./node":{"import":"./node/index.mjs","require":"./node/index.js"},"./fetch":{"import":"./fetch/index.mjs","require":"./fetch/index.js"},"./browser":{"import":"./xhr/index.mjs","require":"./xhr/index.js"},"./xhr":{"import":"./xhr/index.mjs","require":"./xhr/index.js"}},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=10"},"scripts":{"pretest":"npm run build","build":"bundt --main --module --unpkg","test":"uvu -r esm test"},"modes":{"fetch":"src/fetch.js","node":"src/node.js","xhr":"src/xhr.js"},"keywords":["http","fetch","client","request","universal","promise","xhr"],"devDependencies":{"bundt":"1.0.1","esm":"3.2.25","uvu":"0.0.17"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://github.com/lukeed/httpie/workflows/CI/badge.svg\" alt=\"CI\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js and browser HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n#### opts.withCredentials\nType: `Boolean`<br>\nDefault: `false`\n\nWhether or not cross-site requests should include credentials (such as cookies).<br>\nThis value is passed directly to [`XMLHttpRequest.withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).\n\n**Important**: This is for the **browser version** only!\n\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"b7f20baf7eb3c5d670647848b232d0e89f2e5429","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.9","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-/gSctn1aLFv29lS+yubk4CEYmiOfOvpqJSDZFNgxAgxhH338DE872lVAvwSDsnXh3N0AsYeqE+IpmmpUc1OMQg==","shasum":"5f0869e52dbafc1f5640308157cc12553efe0f2a","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.9.tgz","fileCount":13,"unpackedSize":26093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9U3jCRA9TVsSAnZWagAAKNYP/jlec8aW0G6T+aOy4YUc\n1v/lxE+qpzKZQaMjhuYFtZ7bmcFiiT23Rz9HnX7wp7s8w1U8DlX7HUmegPGK\nU1UbU1YnP6EJgFr3BDzvurcX1vnCedW/5w+acpIN7hi2gY1QQRHjm5Edzdec\nJGWbi40qIn/Ih0tCYByMH6jLdvgSvgS/A1fiMC03ynuMN8N3PhUMxsf1TBR9\nPuI+hq5hRbEl/3lQmbQiHaSlMzHFuPworDqOFibs5nnlS89bL13FT6AKbNvS\njnK9XP8G1C7UzjLTCtDZuo+EsIPPp8tcUJFp42t5p+oIHiX1KmyJg27Pu6cm\nsCkxYWvFyHUP/wM8Z4ZpFVAQ4gtwPrdObOF6RY7UQVj+JoPRl6pskiNwOhbH\nDXIXinnEuWEHql+7YMC5YGz8C+qJX6+m/66JHd6Mu013w9wCM5rgxbgy+OrK\np11soVZ9nV96IkEoiaKXStbRKrxk6WNkW0LvWcO1l7fsWo9RM8tkb2C9zTcI\nTVZ5N8VkQxB44eTsyQJKNVB5DXCGPRZH5oJ5pgnmn9cJxbrlKQ5W8DfJbYrl\nCkzUGFtINpOT6NRGV4sYpQWoe2i7JmKtGhslt/MZYwEW0vys3XVwnkXNIlF0\nvA3QwXK1wpHsV/6aCo7EK6dZPR8LV3bsqc3ytKsxEl3GeEADqWFiTqvcixmU\nVow+\r\n=iVDP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCObukzAuDNhnjaeYsSWm5eC+1LYAQ7SdQXCNmPMaAy0wIgW/k/OqrEyd9k4Uo/xQ/fmrt1OdCRbwQZkpA13X0b72E="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.9_1593134563341_0.151057753267966"},"_hasShrinkwrap":false},"2.0.0-next.10":{"name":"httpie","version":"2.0.0-next.10","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based HTTP client for Node.js and the browser~!","browser":"xhr/index.mjs","unpkg":"xhr/index.min.js","worker":"fetch/index.mjs","module":"node/index.mjs","main":"node/index.js","types":"index.d.ts","license":"MIT","exports":{".":{"import":"./node/index.mjs","require":"./node/index.js","browser":"./xhr/index.mjs","worker":"./fetch/index.mjs"},"./node":{"import":"./node/index.mjs","require":"./node/index.js"},"./fetch":{"import":"./fetch/index.mjs","require":"./fetch/index.js"},"./browser":{"import":"./xhr/index.mjs","require":"./xhr/index.js"},"./xhr":{"import":"./xhr/index.mjs","require":"./xhr/index.js"}},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=10"},"scripts":{"pretest":"npm run build","build":"bundt --main --module --unpkg","test":"uvu -r esm test"},"modes":{"fetch":"src/fetch.js","node":"src/node.js","xhr":"src/xhr.js"},"keywords":["http","fetch","client","request","universal","promise","xhr"],"devDependencies":{"bundt":"1.1.1","esm":"3.2.25","uvu":"0.3.3"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://github.com/lukeed/httpie/workflows/CI/badge.svg\" alt=\"CI\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js and browser HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n#### opts.withCredentials\nType: `Boolean`<br>\nDefault: `false`\n\nWhether or not cross-site requests should include credentials (such as cookies).<br>\nThis value is passed directly to [`XMLHttpRequest.withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).\n\n**Important**: This is for the **browser version** only!\n\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"46a148b51f43b6a0011705babad71e3d9629519d","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.10","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-yp+T0Skk5JAW57YzW098fL8zK+Cu4KDt53jUKq+Lmc+ObPZ+USLbOGTaRJFbknuLqmYav6QCwMGy1ZmKOb/aVQ==","shasum":"911d24765b846d3e83009dadec5270ef6555caa6","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.10.tgz","fileCount":16,"unpackedSize":25928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPNKvCRA9TVsSAnZWagAAdmwP/21bE5XM4VbpehBI1RiY\nlcVs4eypx5OVrCWy5akeRZEz3Ry1yZs7vIJEyP8K1GO7pyQQjJB7tulQBReA\nRmGF6lDVc06bE/AGOsovkUgNylAlLPe2S7B5j1zYqsGk6BsQDpDgHiddUtFb\neim3efI3AR1caYzlw7wvBEi6eWV+T7GEbiIrJHLZQ2pCZTxdzTcjWvl58S1f\nEb7qT8b4kov5z+be0DEKXcQ+y/0TuTNNr7FtomHpwCh4kjWyAGMGKgiNBF4L\nrtF82eGscSK5MKr6c2hwLX3N9u051FjhAo04f6XFcFttGxk1++6tY+RIS9CM\nykPyD3mecz9AS7hSHwLnLNYQvbjwO6MIwLFP0x2QrM69SMxuoO9sy2Pz/KRr\n0d1oxksyBvFM9uMtWBiJLPUxdMjbAGrQ4PIPg/ECpLQaOdM1Ww9jWgPXbH+f\nEHANGb0dl2m2kTn4OjjaPrizC3C8GDsnLcsE+0NjgQ1K68ZC6yb6qliNls0N\nX6bGwKSU7XueMVmqk1uK/ll/0kIM5qOYLlsyEsYNHu/adKul4F/nWJMLjzYP\nn/Q3y1ypkC+qYc5PfnwyS8/xckLaAw1WGCSfDqunYUjeRVcK4Stf1fDEqJu+\nC0IQobKtShH5KC4wD5mP5LFjpKfuCg85QkelTXvAKYI7nOZggsY6xqMB+Rmn\nz9AI\r\n=Yr11\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdSwO7F8AA7DAEKqAKqy9hlCwnLEP4lINTMsvFfHVnHQIhAPhWWfMWVjON0+9RfY01nqCF6/aJUy8Q4pSx5ISKDdeu"}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.10_1597821615487_0.9908593420844101"},"_hasShrinkwrap":false},"2.0.0-next.11":{"name":"httpie","version":"2.0.0-next.11","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based HTTP client for Node.js and the browser~!","browser":"xhr/index.mjs","unpkg":"xhr/index.min.js","worker":"fetch/index.mjs","module":"node/index.mjs","main":"node/index.js","types":"index.d.ts","license":"MIT","exports":{".":{"import":"./node/index.mjs","require":"./node/index.js","browser":"./xhr/index.mjs","worker":"./fetch/index.mjs"},"./node":{"import":"./node/index.mjs","require":"./node/index.js"},"./fetch":{"import":"./fetch/index.mjs","require":"./fetch/index.js"},"./browser":{"import":"./xhr/index.mjs","require":"./xhr/index.js"},"./xhr":{"import":"./xhr/index.mjs","require":"./xhr/index.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=10"},"scripts":{"pretest":"npm run build","build":"bundt --main --module --unpkg","test":"uvu -r esm test"},"modes":{"fetch":"src/fetch.js","node":"src/node.js","xhr":"src/xhr.js"},"keywords":["http","fetch","client","request","universal","promise","xhr"],"devDependencies":{"bundt":"1.1.1","esm":"3.2.25","uvu":"0.3.3"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://github.com/lukeed/httpie/workflows/CI/badge.svg\" alt=\"CI\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js and browser HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n#### opts.withCredentials\nType: `Boolean`<br>\nDefault: `false`\n\nWhether or not cross-site requests should include credentials (such as cookies).<br>\nThis value is passed directly to [`XMLHttpRequest.withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).\n\n**Important**: This is for the **browser version** only!\n\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"bb952443f58251d3bce9ba409d86192be484dc2e","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.11","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-fUmHhSH3voAamXMZOhWMvbYel42G/P3AtpBfZ+n04kNXDkbssexmrNHRUzYHBAsQECVTIialYjj0UL8MMVycMg==","shasum":"441d690d59261cb8a540dab41ce01d82139cedef","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.11.tgz","fileCount":16,"unpackedSize":26278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRBjhCRA9TVsSAnZWagAACI4QAJQP8Srl7u1bpvZGVach\njg4Gjb5tS5y1PdPWrb/0HW17ue3w0U83Iv1eO/qCSEnkfsVZIB8Zp3tmJb/v\nxt5dh24muDcsLyj5lxIVIPUliOTiN8jfo1YCIEmJ6s6TGfqKtrP91C1SJwo5\n/sYZY/KvKVqDE0W0gQa/cXz38wwrfQUHuogxr7ygF4BMIfSs8Opju/l5Qrs7\nOBEhB2Nrfj9BISsN/PFbAuSjtpvSQaEtfVDzrkP6R9p3LyHdnfyXaW4QEB+f\nuFST19vGTmOM0Re8iTF+3CTVz5ceZohr2/LxObXNo/mCsqWiEQ8SVGKiKP2B\nzksj4PFnbWzgqDmTQSbptAlAj1iq0HFJEE+BmiveuE9m+FFjtwgKGxLaLU9A\nzaByhJoMMXvp8QOg6ewjzbFWSI6LsblKfSM/DMXV533vjvkpnDhnzVwXkogi\nBnUbdjzoRm0hodGtifd5MDudVrO6wsNHfFPy2MMdLX+sCMwhY7ppvnGmuqJ9\nWdDQ+msgXvdUzhGMG4OxqR5cnfEEiboQoD76DU7NORe2dxW+Mbrza+hQ4tmb\nONzawA7VqbJgBO+bfvYzahdVI5rJTbDsVCbjI9dbiHbsEdAzxWBDtcwaD/qj\nQLW/IeMsYmh+pR6aiCar1EQdRwG29NAutmAdUtvKU+8UzcghvK5z/GScN8Pu\n8P4O\r\n=FURf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICj8tJBRA635Suy7eCZcN5gZmh7w+AnOvbfUZP71EUSXAiBOTCj5kDUK1giBq1KyZLtKPil2a//d5etbx/y6qzuTxw=="}]},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.11_1598298336712_0.6480350541849789"},"_hasShrinkwrap":false},"2.0.0-next.12":{"name":"httpie","version":"2.0.0-next.12","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based HTTP client for Node.js and the browser~!","browser":"xhr/index.mjs","unpkg":"xhr/index.min.js","worker":"fetch/index.mjs","module":"node/index.mjs","main":"node/index.js","types":"index.d.ts","license":"MIT","exports":{".":{"import":"./node/index.mjs","require":"./node/index.js","browser":"./xhr/index.mjs","worker":"./fetch/index.mjs"},"./node":{"import":"./node/index.mjs","require":"./node/index.js"},"./fetch":{"import":"./fetch/index.mjs","require":"./fetch/index.js"},"./browser":{"import":"./xhr/index.mjs","require":"./xhr/index.js"},"./xhr":{"import":"./xhr/index.mjs","require":"./xhr/index.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=10"},"scripts":{"pretest":"npm run build","build":"bundt --main --module --unpkg","test":"uvu -r esm test"},"modes":{"fetch":"src/fetch.js","node":"src/node.js","xhr":"src/xhr.js"},"keywords":["http","fetch","client","request","universal","promise","xhr"],"devDependencies":{"bundt":"1.1.1","esm":"3.2.25","uvu":"0.3.3"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://github.com/lukeed/httpie/workflows/CI/badge.svg\" alt=\"CI\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js and browser HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n#### opts.withCredentials\nType: `Boolean`<br>\nDefault: `false`\n\nWhether or not cross-site requests should include credentials (such as cookies).<br>\nThis value is passed directly to [`XMLHttpRequest.withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).\n\n**Important**: This is for the **browser version** only!\n\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"4ebc9f411acf3ced93d297fdbed1db09631686a3","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.12","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+VGqve3xizP048bl4d/bc5pWqJw6bUqZF2MRincdjLCdMcpKZZ2v7kEq+x+gEvd1mUdv+zxRPnlShgq8BXJVJw==","shasum":"88189da7b3a9db8197030e57cbc1dbf98311783f","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.12.tgz","fileCount":16,"unpackedSize":26698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxS1xCRA9TVsSAnZWagAAbKUP/1Zz6eu6BxgvGaDotjtT\nR/qMvMAQjYlqWz3C6kr7h2qgf923osPGkv9wuDJvR1CUE3+W1CiiaxFaInjx\nIiB8lfAgW0jbeYf31UMlnzan5oNDDcrufRi1W/MSdk4Iy0Lbq8lhNLReH+ar\nM6LGg8Mun2+7ZDC2Rzt9w9gVzexg2WjA8j6krZFfjgoCtCeNSSE4dItv6IK8\nyZ2dwp77JiHeqY4ShufbEQa7Z792rSxfRRZUP4cuOdPN44xlNDM77YyQaLRs\nHJo0CMVfwRGACbywi+40b+dChHuHTQnweH/j7f/ifeNfzKFkIrVH1M0AStVg\nyS+6beV3/mIbv//mgVrW7HvCDe3AHXPgPdwNNkLpeKQvLBZhBATU+Bbj8hlg\ndggIWzeSx3xdcdN/3Tt9mqtpnQAYJcGjzPxBDXUSSOA+VxtPFUXsqWmsE+Qd\nBQSxTf1h+dDWQMbyfO6WEnNcqgQ6Y2d5+4l3/gfjG6Gx+gWo9nKqzRoGA2VP\n90kyH9q3wqgv6wbZul+/CmRLEOuoaaXLapC7+p4RzmBETGWlEQ7nA4mO+dVb\nKFGTgIKISE9y5hobeAvu5mdP5UaCDzmRINrqVYNOx14z4LAexNQkqgmGnaDg\nZqwPrc3z8Vvn+xgMumznt7XTXV//dbg6vi0wR9jYFbQiyjVJ0wt5BNCdphvq\nGhPz\r\n=PuWQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBnZhUeUCGk2OpQHiLO4KCz3Fw1Xw6VBtsYvw+SRKN3OAiBkstuDgUcFHCIoIt/Zc9jKg1/Q2vlq0kbnxTKT3yRMLw=="}]},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.12_1606757745136_0.47070367535751445"},"_hasShrinkwrap":false},"2.0.0-next.13":{"name":"httpie","version":"2.0.0-next.13","repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"description":"A lightweight, Promise-based HTTP client for Node.js and the browser~!","browser":"xhr/index.mjs","unpkg":"xhr/index.min.js","worker":"fetch/index.mjs","module":"node/index.mjs","main":"node/index.js","types":"index.d.ts","license":"MIT","exports":{".":{"worker":"./fetch/index.mjs","browser":"./xhr/index.mjs","import":"./node/index.mjs","require":"./node/index.js"},"./node":{"import":"./node/index.mjs","require":"./node/index.js"},"./fetch":{"import":"./fetch/index.mjs","require":"./fetch/index.js"},"./browser":{"import":"./xhr/index.mjs","require":"./xhr/index.js"},"./xhr":{"import":"./xhr/index.mjs","require":"./xhr/index.js"},"./package.json":"./package.json"},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"engines":{"node":">=10"},"scripts":{"pretest":"npm run build","build":"bundt --main --module --unpkg","test":"uvu -r esm test"},"modes":{"fetch":"src/fetch.js","node":"src/node.js","xhr":"src/xhr.js"},"keywords":["http","fetch","client","request","universal","promise","xhr"],"devDependencies":{"bundt":"1.1.2","esm":"3.2.25","uvu":"0.5.1"},"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"httpie\" height=\"190\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/v/httpie\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/lukeed/httpie\">\n    <img src=\"https://github.com/lukeed/httpie/workflows/CI/badge.svg\" alt=\"CI\" />\n  </a>\n  <a href=\"https://codecov.io/gh/lukeed/httpie\">\n    <img src=\"https://badgen.now.sh/codecov/c/github/lukeed/httpie\" alt=\"codecov\" />\n  </a>\n  <a href=\"https://npmjs.org/package/httpie\">\n    <img src=\"https://badgen.now.sh/npm/dm/httpie\" alt=\"downloads\" />\n  </a>\n</div>\n\n<div align=\"center\">A Node.js and browser HTTP client as easy as pie!</div>\n\n## Features\n\n* `Promise`- based HTTP requestor\n* Works with HTTP and HTTPS protocols\n* Automatically handles JSON requests and responses\n* Extremely lightweight with **no dependencies** 678 bytes!\n* Includes aliases for common HTTP verbs: `get`, `post`, `put`, `patch`, and `del`\n\nAdditionally, this module is delivered as:\n\n* **ES Module**: [`dist/httpie.mjs`](https://unpkg.com/httpie/dist/httpie.mjs)\n* **CommonJS**: [`dist/httpie.js`](https://unpkg.com/httpie/dist/httpie.js)\n\n\n## Install\n\n```\n$ npm install --save httpie\n```\n\n\n## Usage\n\n> **Note:** The `async` syntax is for demo purposes – you may use Promises in a Node 6.x environment too!\n\n```js\nimport { get, post } from 'httpie';\n\ntry {\n  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');\n\n  // Demo: Endpoint will echo what we've sent\n  const res = await post('https://jsonplaceholder.typicode.com/posts', {\n    body: {\n      id: data.id,\n      name: data.name,\n      number: data.order,\n      moves: data.moves.slice(0, 6)\n    }\n  });\n\n  console.log(res.statusCode); //=> 201\n  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }\n} catch (err) {\n  console.error('Error!', err.statusCode, err.message);\n  console.error('~> headers:', err.headers);\n  console.error('~> data:', err.data);\n}\n```\n\n\n## API\n\n### send(method, url, opts={})\nReturns: `Promise`\n\nAny `httpie.send` request (and its aliases) will always return a Promise.\n\nIf the response's `statusCode` is 400 or above, this Promise will reject with a formatted error – see [Error Handling](#error-handling). Otherwise, the Promise will resolve with the full [`ClientRequest`](https://nodejs.org/api/http.html#http_class_http_clientrequest) stream.\n\nThe resolved response will receive a new `data` key, which will contain the response's full payload. Should the response return JSON content, then `httpie` will parse it and the `res.data` value will be the resulting JSON object!\n\n#### method\nType: `String`\n\nThe HTTP method name – it must be uppercase!\n\n#### url\nType: `String` or [`URL`](https://nodejs.org/api/url.html#url_the_whatwg_url_api)\n\nIf `url` is a string, it is automatically parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost) into an object.\n\n#### opts.body\nType: `Mixed`<br>\nDefault: `undefined`\n\nThe request's body, can be of any type!\n\nAny non-`Buffer` objects will be converted into a JSON string and the appropriate [`Content-Type`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) header will be attached.\n\nAdditionally, `httpie` will _always_ set a value for the [`Content-Length`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length) header!\n\n#### opts.headers\nType: `Object`<br>\nDefault: `{}`\n\nThe custom headers to send with your request.\n\n#### opts.redirect\nType: `Boolean`<br>\nDefault: `true`\n\nWhether or not redirect responses should be followed automatically.\n\n> **Note:** This may only happen with a 3xx status _and_ if the response had a [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location) header.\n\n#### opts.reviver\nType: `Function`<br>\nDefault: `undefined`\n\nAn optional function that's passed directly to [`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Parameters), allowing you transform aspects of the response data before the `httpie` request resolves.\n\n> **Note:** This will _only_ run if `httpie` detects that JSON is contained in the response!\n\n#### opts.timeout\nType: `Integer`<br>\nDefault: `undefined`\n\nThe time, in milliseconds, before automatically terminating the request.\n\nWhen the request exceeds this limit, `httpie` rejects with an `err<Error>`, adding a truthy `err.timeout` value.\n\n> **Important:** There is a slight behavioral difference between the Node & browser versions!<br>\nIn the server, the `timeout` value _does not propagate_ to any redirects.<br>\nIn the browser, the `timeout` value _will not_ reset during redirects.\n\n#### opts.withCredentials\nType: `Boolean`<br>\nDefault: `false`\n\nWhether or not cross-site requests should include credentials (such as cookies).<br>\nThis value is passed directly to [`XMLHttpRequest.withCredentials`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).\n\n**Important**: This is for the **browser version** only!\n\n\n\n### get(url, opts={})\n> Alias for [`send('GET', url, opts)`](#sendmethod-url-opts).\n\n### post(url, opts={})\n> Alias for [`send('POST', url, opts)`](#sendmethod-url-opts).\n\n### put(url, opts={})\n> Alias for [`send('PUT', url, opts)`](#sendmethod-url-opts).\n\n### patch(url, opts={})\n> Alias for [`send('PATCH', url, opts)`](#sendmethod-url-opts).\n\n### del(url, opts={})\n> Alias for [`send('DELETE', url, opts)`](#sendmethod-url-opts).\n\n\n## Error Handling\n\nAll responses with `statusCode >= 400` will result in a rejected `httpie` request. When this occurs, an Error instance is formatted with complete information:\n\n* `err.message` – `String` – Identical to `err.statusMessage`;\n* `err.statusMessage` – `String` – The response's `statusMessage` value;\n* `err.statusCode` – `Number` – The response's `statusCode` value;\n* `err.headers` – `Object` – The response's `headers` object;\n* `err.data` – `Mixed` – The response's payload;\n\nAdditionally, errors that are a result of a timeout expiration will have a truthy `err.timeout` value.\n\n> **Important:** The error's `data` property may also be parsed to a JSON object, according to the response's headers.\n\n```js\nimport { get } from 'httpie';\n\nget('https://example.com/404').catch(err => {\n  console.error(`(${err.statusCode}) ${err.message}`)\n  console.error(err.headers['content-type']);\n  console.error(`~> ${err.data}`);\n});\n//=> \"(404) Not Found\"\n//=> \"text/html; charset=UTF-8\"\n//=> ~> <?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\\n<!DOCTYPE html ...</body>\\n</html>\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","gitHead":"2d6d60273f139ceb7002d2198af9d379ba4f79fa","bugs":{"url":"https://github.com/lukeed/httpie/issues"},"homepage":"https://github.com/lukeed/httpie#readme","_id":"httpie@2.0.0-next.13","_nodeVersion":"14.15.3","_npmVersion":"6.14.9","dist":{"integrity":"sha512-KbKOnq8wt0hVEfteYCSnEsPgzaWxcVc4qZ4OaDU9mVOYLRo3XChjWs3MiuRgFu5y+4JDo7sDKdKzkAn1ljQYFA==","shasum":"1e245be61d6ca2573a2c1d690cfa5ec3bac63a0c","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.13.tgz","fileCount":16,"unpackedSize":26698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf++w3CRA9TVsSAnZWagAA6TYP/i8L3iZ/aP0MxViAGxKu\nDeqExGLxiWr04IrCQUTmj4JZxhmEnVIE6He8WQXR2sLX69IybhctP/aELPvX\nSk+O/pO92rOwMn3lBZ+FGvmD5M7cmMVR258QWyq8ZuJ9QB4we9QhKtk7dStK\nf0uFav4EFstrFJRQYiY5ulZ5i2ERO0KufssGomdWLvC0768er2X61sqfjX2G\ncFR33TWE86jRMdeS8My6pmRCbNzh+mj+nGppi/LPK1AV2B9kBK+qe9nPBcv6\neFCqV3So/A+yN0+uEZudpdDEk0MvPUHeavG9MFnc6pegkoDYrOW4UqrRrGsf\n3wB1+HLt4dMI5p9ARqaukMIb46HQvbCRM9MZ6IGVBfObGkNqRz+/OsWaYNTo\ndT1lNrOnTn/PqHDXaWaLQ0Gl7q5LnUg/mYZYMd8NLUt2Xtvq6SBqr8HdYeYB\n37XMoEK1S10bx8ZM1zGZPIFviv/TwfK2fHAKY5nyYLuiGI9up8zZjiR7AIV+\nPUiKimgscxZJ1YztVMadJHZGh0zgukTNfVevVdctGBomt9cVSUsMiKhYj2wA\nPomN1C4fh/xrVmPmdlRbUXZVorDLoJmv1Izj75mJhrPsoVOJn6qxWRuIpl1h\nXb717x8ok7OGiIQwa4h0OXAvFpQFWmPbO4lCAwCJOeXPir+rBFhIt3p/dE58\nEi2K\r\n=7QQO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDNyoQYek1ftRilr3oU3FTsnnUrBFUY0rZ2Jl+GeGy1AIhAIaV8jOoO+0/r9tkqiSUTbnqHgnJhTYhsE41z+2AVZ/s"}]},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpie_2.0.0-next.13_1610345527319_0.6941576236503664"},"_hasShrinkwrap":false}},"time":{"created":"2018-11-20T03:55:51.906Z","0.0.0":"2018-11-20T03:55:52.142Z","modified":"2022-05-05T08:28:16.158Z","0.1.0":"2018-11-20T05:17:34.188Z","0.1.1":"2018-11-20T19:45:06.355Z","0.1.2":"2018-12-06T07:31:30.455Z","0.2.0":"2019-01-20T22:31:25.886Z","0.3.0":"2019-01-30T17:38:03.481Z","1.0.0":"2019-01-31T03:55:37.537Z","1.0.1":"2019-01-31T20:03:50.374Z","1.0.2":"2019-02-02T15:07:36.636Z","1.1.0":"2019-02-04T02:28:41.397Z","1.1.1":"2019-03-15T19:25:46.121Z","1.1.2":"2019-05-13T06:44:50.668Z","2.0.0-next.0":"2019-05-22T06:09:56.036Z","2.0.0-next.1":"2019-05-22T23:20:59.400Z","2.0.0-next.2":"2019-05-24T18:46:40.654Z","2.0.0-next.3":"2019-12-16T19:15:11.687Z","2.0.0-next.4":"2020-01-30T02:16:42.876Z","2.0.0-next.5":"2020-02-05T06:50:18.337Z","2.0.0-next.6":"2020-02-05T06:52:05.137Z","2.0.0-next.7":"2020-04-04T06:27:25.988Z","2.0.0-next.8":"2020-06-19T01:28:05.409Z","2.0.0-next.9":"2020-06-26T01:22:43.485Z","2.0.0-next.10":"2020-08-19T07:20:15.597Z","2.0.0-next.11":"2020-08-24T19:45:36.850Z","2.0.0-next.12":"2020-11-30T17:35:45.268Z","2.0.0-next.13":"2021-01-11T06:12:07.455Z"},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"description":"A lightweight, Promise-based wrapper for Node.js HTTP requests~!","homepage":"https://github.com/lukeed/httpie#readme","keywords":["http","client","request","promise"],"repository":{"type":"git","url":"git+https://github.com/lukeed/httpie.git"},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"lukeed.com"},"bugs":{"url":"https://github.com/lukeed/httpie/issues"},"license":"MIT","readme":"","readmeFilename":""}