{"bugs":{"url":"https://github.com/lukeed/httpie/issues"},"dist":{"shasum":"1e245be61d6ca2573a2c1d690cfa5ec3bac63a0c","tarball":"https://registry.npmjs.org/httpie/-/httpie-2.0.0-next.13.tgz","fileCount":16,"integrity":"sha512-KbKOnq8wt0hVEfteYCSnEsPgzaWxcVc4qZ4OaDU9mVOYLRo3XChjWs3MiuRgFu5y+4JDo7sDKdKzkAn1ljQYFA==","signatures":[{"sig":"MEYCIQCDNyoQYek1ftRilr3oU3FTsnnUrBFUY0rZ2Jl+GeGy1AIhAIaV8jOoO+0/r9tkqiSUTbnqHgnJhTYhsE41z+2AVZ/s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"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"},"main":"node/index.js","name":"httpie","modes":{"xhr":"src/xhr.js","node":"src/node.js","fetch":"src/fetch.js"},"types":"index.d.ts","unpkg":"xhr/index.min.js","author":{"url":"https://lukeed.com","name":"Luke Edwards","email":"luke.edwards05@gmail.com"},"module":"node/index.mjs","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","worker":"fetch/index.mjs","browser":"xhr/index.mjs","engines":{"node":">=10"},"exports":{".":{"import":"./node/index.mjs","worker":"./fetch/index.mjs","browser":"./xhr/index.mjs","require":"./node/index.js"},"./xhr":{"import":"./xhr/index.mjs","require":"./xhr/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"},"./package.json":"./package.json"},"gitHead":"2d6d60273f139ceb7002d2198af9d379ba4f79fa","license":"MIT","scripts":{"test":"uvu -r esm test","build":"bundt --main --module --unpkg","pretest":"npm run build"},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"homepage":"https://github.com/lukeed/httpie#readme","keywords":["http","fetch","client","request","universal","promise","xhr"],"repository":{"url":"git+https://github.com/lukeed/httpie.git","type":"git"},"_npmVersion":"6.14.9","description":"A lightweight, Promise-based HTTP client for Node.js and the browser~!","directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_nodeVersion":"14.15.3","_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"esm":"3.2.25","uvu":"0.5.1","bundt":"1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/httpie_2.0.0-next.13_1610345527319_0.6941576236503664","host":"s3://npm-registry-packages"},"_id":"httpie@2.0.0-next.13","version":"2.0.0-next.13"}