{"_id":"@paypal/paypalhttp","_rev":"68-39e2b1bb1a4379e677734b3c6593db43","name":"@paypal/paypalhttp","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@paypal/paypalhttp","version":"1.0.0","keywords":["paypalhttp","payments"],"author":{"name":"PayPal"},"license":"MIT","_id":"@paypal/paypalhttp@1.0.0","maintainers":[{"name":"tifzhou","email":"tifzhou@paypal.com"},{"name":"seavenly","email":"nschott@paypal.com"},{"name":"mcntsh","email":"jonmcntsh@gmail.com"},{"name":"visheei","email":"vish.jeea@gmail.com"},{"name":"weihou","email":"weihou@paypal.com"},{"name":"zhillb","email":"zach@zacharyhill.xyz"},{"name":"bryanjenningz","email":"bryanjenningz@gmail.com"},{"name":"joshbeam","email":"joshua.a.beam@gmail.com"},{"name":"rajarampadmanathan","email":"prajarameee@gmail.com"},{"name":"braintree","email":"devs+npm@getbraintree.com"},{"name":"bladebarringer","email":"blade@crookedneighbor.com"},{"name":"bluepnume","email":"daniel@bluesuncorp.co.uk"},{"name":"paypal-user","email":"DL-PP-NODEJS-SDK@paypal.com"}],"homepage":"https://github.com/paypal/paypalhttp_node","bugs":{"url":"https://github.com/paypal/paypalhttp_node/issues"},"dist":{"shasum":"a591c1da39c63e2b9c62735348b82abed5037e01","tarball":"https://registry.npmjs.org/@paypal/paypalhttp/-/paypalhttp-1.0.0.tgz","fileCount":35,"integrity":"sha512-6gHT5HhPLObICXU8LFFiuoH0vCh3y1y0jl0OWDRuTZvptZ1WRS2eKcHigheytqxk+CWTH0qh0M3S5vEf1PJrSw==","signatures":[{"sig":"MEUCICaxpnoREx3fT6TEVPnUiG0S2jVzbCzdSdYIAj328gQ1AiEA7QXI8mZTFH0Mu4q3ICZdgaz/2UEgV/9/LHjPSx1XpDw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1ERFCRA9TVsSAnZWagAARjQP/ijrbkYSYT84F0O59jxE\nwCgkcK199cr1fcij4PjY1415Qz91lausJl6s7VMtD1Zv+2kMX+OadoVZ6OIO\nyXqPFtC9hSCtq5qBYoF/Ose/AeECVlmvCJyDWdAz6a8EjgKKW95Fj+peCNTd\nts7O3CyC8PvPNgbQzWVksYZXa/+vJu2JQgSgeTAvjYr2Rc1dtBVaZxAf9MEQ\nplzScIznnwlaYiE1bWUi8+Om2LUGAcPLkR6IOtHhHUZugzWlet61rXBWGPzd\nG/zo60lSyF/943Kf2IgubhFT791/2tc7IC3Z8vjOXKbvvCkWZihXFlmWGF2g\nXxX03VWUdq/blu/LBOPHchWj6qodemnziTtKnedrMccSf5QRuHKMX2ITPZhl\n9+2/A/GZjAf9GbHrabilQ6gpvQ3uIpzuTccEry3e3ytXILxqflzkEdG9GJhO\njVIhM6pyKhuGPbLlihA/PydlRU4IIHVvKEw7Zhzxkha9W2N6Wi0caCtav+ZK\nlQJ4oL9tjHGWR8d2a8act9+Vya0HyGNIGF3LJP2ln0etpNr3bNrjtjfNqa70\nz3+HNcCpTfkPZ3PYTK34Ume25592B7EnVmxKFZvrUz6rvkquvVevsKOHQHMX\n1KD5iviH+yzEpxYSTCmrmihOvB6bZgVts2llT6cLzd2pw4vXU16K2Stkzh3I\nwN0h\r\n=V2lb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index","engines":{"node":">=4"},"gitHead":"a60479dd880bd95cff405d541d840c37ba7e5e42","scripts":{"lint":"eslint lib/ spec/","test":"npm run test:unit","pretest":"npm run lint","test:unit":"mocha spec/unit --recursive -r spec/spec_helper"},"_npmUser":{"name":"tifzhou","email":"tifzhou@paypal.com"},"repository":{"url":"git+https://github.com/paypal/paypalhttp_node.git","type":"git"},"_npmVersion":"6.4.1","description":"A library for integrating with PayPalHttp.","directories":{"lib":"./lib"},"_nodeVersion":"8.16.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chai":"1.5.0","nock":"^9.0.13","mocha":"3.2.0","sinon":"^2.3.2","busboy":"^0.2.14","eslint":"^2.7.0","eslint-config-braintree":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/paypalhttp_1.0.0_1574192197432_0.44688590815051255","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@paypal/paypalhttp","version":"1.0.1","keywords":["paypalhttp","payments"],"author":{"name":"PayPal"},"license":"MIT","_id":"@paypal/paypalhttp@1.0.1","maintainers":[{"name":"karthickpp","email":"karthickgreets99@gmail.com"},{"name":"hlahlou","email":"hlahlou@paypal.com"},{"name":"sioked","email":"sioked@gmail.com"},{"name":"westeezy","email":"westin.wrzesinski@gmail.com"},{"name":"sdk-integrations-npm","email":"sdk-integrations-npm@paypal.com"},{"name":"frnuzzi","email":"frnuzzi@paypal.com"},{"name":"paypal-user","email":"DL-PP-NODEJS-SDK@paypal.com"},{"name":"bluepnume","email":"daniel@bluesuncorp.co.uk"},{"name":"bladebarringer","email":"blade@crookedneighbor.com"},{"name":"braintree","email":"team-bt-sdk@paypal.com"},{"name":"rajarampadmanathan","email":"prajarameee@gmail.com"},{"name":"joshbeam","email":"joshua.a.beam@gmail.com"},{"name":"bryanjenningz","email":"bryanjenningz@gmail.com"},{"name":"zhillb","email":"zach@zacharyhill.xyz"},{"name":"weihou","email":"weihou@paypal.com"},{"name":"seavenly","email":"nschott@paypal.com"},{"name":"tifzhou","email":"tifzhou@paypal.com"},{"name":"rpalanikumar","email":"rpalanikumar@paypal.com"},{"name":"songz","email":"song@zheng.club"},{"name":"merlinpatt","email":"merlinpatt@gmail.com"},{"name":"jfurman","email":"mpscqw@gmail.com"},{"name":"ravishekhar00","email":"ravi_shekhar00@yahoo.com"},{"name":"visheei94","email":"vishakha94@outlook.com"},{"name":"gregjopa","email":"grjopa@gmail.com"},{"name":"mstuart","email":"stuartmark@gmail.com"},{"name":"antre","email":"antre@paypal.com"},{"name":"mnicpt","email":"mnicpt@gmail.com"},{"name":"elizabethmv","email":"developedbyliz@gmail.com"},{"name":"nbierdeman","email":"nbierdeman@paypal.com"},{"name":"shrkapoor","email":"shrkapoor@paypal.com"},{"name":"amyegan","email":"amyegan@paypal.com"},{"name":"chetanjk","email":"chetan.jk@gmail.com"},{"name":"shrutikapoor08","email":"shruti.kapoor08@gmail.com"},{"name":"remotevision","email":"ryank@remotevisioninc.com"},{"name":"dturgumbaev","email":"dturgumbaev@paypal.com"},{"name":"rygilbert_paypal","email":"rygilbert@paypal.com"}],"homepage":"https://github.com/paypal/paypalhttp_node","bugs":{"url":"https://github.com/paypal/paypalhttp_node/issues"},"dist":{"shasum":"406e337bf86cec7ea58c42eb167eb9b57ed88110","tarball":"https://registry.npmjs.org/@paypal/paypalhttp/-/paypalhttp-1.0.1.tgz","fileCount":29,"integrity":"sha512-DC7AHxTT7drF6dUi3YaFdPVuT15sIkpD5H2eHmdtFgxM4UanS1o1ZDfMhR9mpxd8o+X6pz2r+EZVRRq+n1cssQ==","signatures":[{"sig":"MEYCIQC59m5iKhMo3UkN87yFCFOCrYo9TY4OjIUZb2OU3Ycf8wIhAPUH3N8Ai9RDzc3ZriuqbaLK6bZfJeOyV5DlC10A2Z1z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2VsBCRA9TVsSAnZWagAAwx0P/1/nxraYJ9eQNXJfYKrh\npeUwmTyC8rGEiErexSFOFUeuPD1XGHR+Y6viyVAbuNSX9M8oicN1clxk/DLu\nr0RhoMF7sX3e7O8x5iJShJ4tLDRQcThi81JWx+9PX4ShgbizJTxcGCDXJS5G\ngeNh7n4O1x+r8h8D7RDzcreLtwx99ilckh0k6gNlBWox5UWWdEFxZ82WX55H\nGhHQHubu20B2SSWfOfI8ZRMwwgWD58QE8CvOE5rsHzSZEFeGyl4z6dW+4xMa\n0LXNmR14xnYu6hfuoGzsJUntxknB2RfTI/jKAs6exBBYztG9gNNfj+Qv6RyL\n1UkI+/0cLNgOIiIHM5Zls05EtLrir5iKUbndgQ/U401j6UjaUC9SeZcNeA3h\nyVnBvLBny67b/nKP0g0hRxSb8RxqJAi1244ZD1eBL+6Rc01Wj7J5aFJzI5XU\nwKtc2t7vhc7S+t3aBqMrtO0fgULx/k5RXx0ULOb7JjGSn0H1LB//suD09mn+\nWKM+P8Wc6NCIiszIaU5Dnqo6JyBHxmAgqlu4O1A62TpsERlRxZk1jDydohay\ntyml1fOeeZPSgaM3uHdP27zmRsVncUz+/BrcV/7CstBv/Qu7MyIrozlfb75d\n91g2acoIpgxLbslamwwa7cthTzUamoAsho4BSOu7WSxtQsEC6nSeeM02stms\nFs7J\r\n=bESR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index","engines":{"node":">=4"},"gitHead":"4cbb1e88069227048d2636cfbda68d4b20014356","scripts":{"lint":"eslint lib/ spec/","test":"npm run test:unit","pretest":"npm run lint","test:unit":"mocha spec/unit --recursive -r spec/spec_helper"},"_npmUser":{"name":"hlahlou","email":"hlahlou@paypal.com"},"repository":{"url":"git+https://github.com/paypal/paypalhttp_node.git","type":"git"},"_npmVersion":"6.14.11","description":"A library for integrating with PayPalHttp.","directories":{"lib":"./lib"},"_nodeVersion":"10.24.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chai":"1.5.0","nock":"^9.0.13","mocha":"3.2.0","sinon":"^2.3.2","busboy":"^0.2.14","eslint":"^2.7.0","eslint-config-braintree":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/paypalhttp_1.0.1_1632256759908_0.9706842215672555","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-11-19T19:36:37.194Z","modified":"2026-08-19T19:41:55.158Z","1.0.0":"2019-11-19T19:36:37.520Z","1.0.1":"2021-09-21T20:39:20.078Z"},"bugs":{"url":"https://github.com/paypal/paypalhttp_node/issues"},"author":{"name":"PayPal"},"license":"MIT","homepage":"https://github.com/paypal/paypalhttp_node","keywords":["paypalhttp","payments"],"repository":{"url":"git+https://github.com/paypal/paypalhttp_node.git","type":"git"},"description":"A library for integrating with PayPalHttp.","maintainers":[{"email":"sdk-integrations-npm@paypal.com","name":"sdk-integrations-npm"},{"email":"sioked@gmail.com","name":"sioked"},{"email":"server-sdks@paypal.com","name":"paypal-sdks"},{"email":"sdk-package-registries@paypal.com","name":"braintree"},{"email":"mpscqw@gmail.com","name":"jfurman"},{"email":"ravi_shekhar00@yahoo.com","name":"ravishekhar00"},{"email":"grjopa@gmail.com","name":"gregjopa"},{"email":"mnicpt@gmail.com","name":"mnicpt"},{"email":"developedbyliz@gmail.com","name":"elizabethmv"},{"email":"nbierdeman@paypal.com","name":"nbierdeman"},{"email":"ryank@remotevisioninc.com","name":"remotevision"},{"email":"rygilbert@paypal.com","name":"rygilbert_paypal"},{"email":"besierra@paypal.com","name":"besierra"},{"email":"rosman21@gmail.com","name":"rosman21"},{"email":"brunson.ws@gmail.com","name":"wsbrunson"},{"email":"yanisimov@paypal.com","name":"yanisimov_paypal"},{"email":"avathalurin@paypal.com","name":"avathalurin"},{"email":"ghislain@gmail.com","name":"gseguin"},{"email":"dustijones@paypal.com","name":"dustijones"},{"email":"du.svp28@gmail.com","name":"sunnypatel"},{"email":"shanjing.dev@gmail.com","name":"csjcsjcsj"},{"email":"bywood@paypal.com","name":"bywood"},{"email":"siqliang@paypal.com","name":"siqliang"},{"email":"ppeelen@paypal.com","name":"ppeeleniz"},{"email":"sraj@paypal.com","name":"supremar"},{"email":"btedder@paypal.com","name":"imbrian-paypal"},{"email":"cnallam@paypal.com","name":"cnallam"},{"email":"gabgutierrez@paypal.com","name":"gabrielg-paypal"},{"email":"augreer@paypal.com","name":"augreer8"}],"readme":"## PayPal HttpClient\n\nPayPalHttp is a generic HTTP Client.\n\nIn it's simplest form, an [`HttpClient`](lib/paypalhttp/http_client.js) exposes an `#execute` method which takes an `HttpRequest`, executes it against the domain described in an `Environment`, and returns a Promise.\n\n### Environment\n\nAn [`Environment`](lib/paypalhttp/environment.js) describes a domain that hosts a REST API, against which an `HttpClient` will make requests. `Environment` is a simple class that contains one property, `baseUrl`.\n\n```js\nlet env = new Environment('https://example.com');\n```\n\n### Requests\n\nHTTP requests contain all the information needed to make an HTTP request against the REST API. Specifically, one request describes a path, a verb, any path/query/form parameters, headers, attached files for upload, and body data. In Javascript, an HttpRequest is simply an object literal with `path`, `verb`, and optionally, `requestBody`, and `headers` populated.\n\n### Responses\n\nHTTP responses contain information returned by a server in response to a request as described above. They are simple objects which contain a `statusCode`, `headers`, and a `result`, which represents any data returned by the server.\n\n```js\nlet req = {\n  path: \"/path/to/resource\",\n  verb: \"GET\",\n  headers: {\n    \"X-Custom-Header\": \"custom value\"\n  }\n}\n\nclient.execute(req)\n  .then((resp) => {\n    let statusCode = resp.statusCode;\n    let headers = resp.headers;\n    let responseData = resp.result;\n  });\n```\n\n### Injectors\n\nInjectors are closures that can be used for executing arbitrary pre-flight logic, such as modifying a request or logging data. Injectors are attached to an `HttpClient` using the `#addInjector` method. They must take one argument (a request), and may return nothing, or a Promise.\n\nThe `HttpClient` executes its injectors in a first-in, first-out order, before each request.\n\n```js\nlet client = new HttpClient(env);\nclient.addInjector((req) => {\n  console.log(req);\n});\n\nclient.addInjector((req) => {\n  req.headers['Request-Id'] = 'abcd';\n});\n\n...\n```\n\n### Error Handling\n\nThe Promise returned by `HttpClient#execute` maybe be rejected if something went wrong during the course of execution. If the server returned a non-200 response, this error will be an object that contains a status code, headers, and any data that was returned for debugging.\n\n```js\nclient.execute(req)\n  .then((resp) => {\n    let statusCode = resp.statusCode;\n    let headers = resp.headers;\n    let responseData = resp.result;\n  })\n  .catch((err) => {\n    if (err.statusCode) {\n      let statusCode = err.statusCode;\n      let headers = err.headers;\n      let message = err.message;\n    } else {\n      // Something else went wrong\n      console.err(err);\n    }\n  });\n```\n\n### Serializer\n(De)Serialization of request and response data is done by instances of [`Encoder`](lib/paypalhttp/encoder.js). PayPalHttp currently supports `json` encoding out of the box.\n\n## License\nPayPalHttp-Node is open source and available under the MIT license. See the [LICENSE](./LICENSE) file for more info.\n\n## Contributing\nPull requests and issues are welcome. Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.\n","readmeFilename":"README.md"}