{"_id":"apollo-datasource-rest","_rev":"171-846d3cce644aa96b743e8bbc518b03f9","name":"apollo-datasource-rest","dist-tags":{"next-v3":"0.300.0-alpha.3","unified":"0.12.1-unified2.1","alphalambda":"0.300.0-lambda.0","html":"0.300.0-html.0","preview":"3.0.0-preview.3","rc":"3.0.0-rc.1","next":"3.2.0","alpha":"3.5.0-alpha.1","v2":"0.15.0","latest":"3.7.0"},"versions":{"2.0.0-rc.0":{"name":"apollo-datasource-rest","version":"2.0.0-rc.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@2.0.0-rc.0","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"0a4d5609f704966c5584c8fe6582d6a283e5e886","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-2.0.0-rc.0.tgz","fileCount":31,"integrity":"sha512-OHklgPv/L8kFO1xYX/Yb8D9qOR2RdHk0ch2PcyVPcVLJKGXXILEaYRPI4EH6KCakd1Y+mXZyMkQtvyRE2vUtig==","signatures":[{"sig":"MEYCIQC1fQ9sgrprSYPAskl8CXksmg5TucXWmvatJVpXrKHiggIhAOf4j1YMxt70kbjIEj2rj2buMepPptuo7OPg43Cm1QbB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39968},"jest":{"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","_from":".","types":"dist/index.d.ts","_shasum":"0a4d5609f704966c5584c8fe6582d6a283e5e886","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf lib","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"3.10.10","directories":{},"_nodeVersion":"6.14.2","dependencies":{"lru-cache":"^4.1.3","apollo-server-env":"^2.0.0-rc.0","http-cache-semantics":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.1.0","ts-jest":"^22.4.6","@types/jest":"^23.0.0","@types/lru-cache":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_2.0.0-rc.0_1529043496103_0.35003050272677494","host":"s3://npm-registry-packages"}},"2.0.0-rc.1":{"name":"apollo-datasource-rest","version":"2.0.0-rc.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@2.0.0-rc.1","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"cc3ec1bd16931c5e816c6c2b102444352653a447","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-2.0.0-rc.1.tgz","fileCount":27,"integrity":"sha512-1r1ph5hK5R1QAT88GPwwJ6qrjbKBpj2qoKMJTCXqWn00xpDawXLSOE/kxupQF7OVDuuD2Y3Ry3c9T3j5jMl+mw==","signatures":[{"sig":"MEYCIQCYOvOw7lkTyK38dFEkhZc2vC9Ol1pxJL21u3DkjY+CDwIhAJa0H0mIpOQkay2YlTDvUmjvSK4yatwP5aQiLBBJjEjO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44730,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLCe0CRA9TVsSAnZWagAAQWAP/jP8Cw87vfJT0kULllt2\nPnMuC2ldii2tojtK9HmwLaYHZuLE0YdzZiZ8/PMbSGYSoJqgHPSxXCYUPp7V\nzLNzm0YSjzua1QKhsm9ekA1cFDww7Nk6MY4tKX3ptGjptvMCkfY3yvfnDFDM\nSsnQpUy9Wr/0rXn4kBjXhmhJeactkaO1ZUAo82M7H+nwn9YTM0oXUeS5eUik\nLNy0A9yJwiOuecpMeAMqjxXtk963dEfGck5zhtffeeIgi/xPbLYYpVujkEru\nV3tHGAtUq8oVOfBfvCYaepGa+d3ekecSuNLVVHEqyCMuLk65gjv7lbbQJpo4\no5Bu5lOdtho0IRKNeSRKImRB0kWg+PyML5u8V3YYjkGVk0ThP9BQ+KzeTgDs\n27B2SyXNSexcDUzqeWdmBL9OIyi1zgfjuXpiPKSMs/6UXD5mKZ0jJFAzuLJX\n/KmzsTPeTx4HYvDzPjzlK/fb4nU2ztCadxFFfrJ8gqKiVH2/VojTLrc217oU\nakmpzkUb8G7MKplnbd0c87EkLE6isTBpdxv/0F2WZKHZxWruNxZ4MuSdw37p\nqBPQ8V+iViguG56QK9mbkv622f0iWDl4KYZSKKq7uBzxMWDMsy92LykAhIKN\nuTt1sSUScOIKkhcX6lGsWoGuhzy9CiocSIWccLGcajtCgpvg4DVA9iso1adl\n2bVQ\r\n=gNI/\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf lib","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"lru-cache":"^4.1.3","apollo-server-env":"^2.0.0-rc.1","apollo-server-errors":"^2.0.0-rc.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"^2.0.0-rc.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.1.0","ts-jest":"^22.4.6","@types/jest":"^23.0.0","@types/lru-cache":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_2.0.0-rc.1_1529620404189_0.9680172654193866","host":"s3://npm-registry-packages"}},"2.0.0-rc.2":{"name":"apollo-datasource-rest","version":"2.0.0-rc.2","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@2.0.0-rc.2","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"8d5450149b49433322f1c4e78240436253890880","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-2.0.0-rc.2.tgz","fileCount":27,"integrity":"sha512-app+G4mvj/LLKmcwKDzClyIZ1ZSjHh5OFq8Ct3FhW8yI/FHOVpl/MMwosyLdZOEYxiXl9fOBSgsNhp/3uw7iUA==","signatures":[{"sig":"MEYCIQDMQ+u5XoO+4mjO10DegAX0J8sP7rLDdJVAY8PzX9bEugIhAJDvXCRBXE+gurGs+U6zAQLXAUfCa9OjwxyLnDEabH5K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44730,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLGTBCRA9TVsSAnZWagAAN9UP/RGhNw4a+oDWM1+O2tcW\nh0Vh26PUJooYKsLHp+LUOcC78FndraFCyF2sBv7RtaJyq21c70pLrLfSwZhM\nn1cWCqP6uJT06+9ux5zcjyvY/FQQn1XhLB4AMSJYXC6PlIlQMPQ9v3/wz/sn\n+ICNPe1hZX1ei+Fy0R7bNoJmxz+TxW9RpRs2BrfvyeZ07TUp2emdWF+HIUJJ\nrh+Dx24l027AkbahFJVa1CoZoZ7M/irDru4hzNO0QxUHeeAQQnD4oI65FolY\nzslGtijGALZj5iCSAYR0hGHZSlMVinma1rY3A0P7F8sXQw/P7pm/aviiopMi\nlklNQIW1u8s52v8kmlfnZzuGQSuQV8mb0Lr71yKhya8yPZfV47KEnxwjHp02\nevZGFQa1hTIPgmUbIh+c7eP3XC7D8WghfOfvp1hqDIK4CvrX/cNaHUdOLJ8j\n8r6zPlpSsX8Vf5kc9SNSp0fNo2CKKoN3934Us3vRZ11fzJkLsdhCHESTucZ4\ni8FCWk27Is4f2Us2HoqxnLMpZnafe4c9d45/QXfn44Rbx8E2+YPlRPLRVXhV\nY8O9G+GZXZxiQTLw2EFRiwuCwBO17nRrzbDFmEFcj67TtEPoV5szDQpphCGC\nRaE34a8cnS7Sdwx4D7ZI8KKDpwwS9PBf3DacsnYZDbZSlrqhSn2I2970GaL8\n+YQH\r\n=2bHt\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf lib","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"lru-cache":"^4.1.3","apollo-server-env":"^2.0.0-rc.2","apollo-server-errors":"^2.0.0-rc.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^2.0.0-rc.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.1.0","ts-jest":"^22.4.6","@types/jest":"^23.0.0","@types/lru-cache":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_2.0.0-rc.2_1529636033035_0.5406013802959813","host":"s3://npm-registry-packages"}},"2.0.0-rc.3":{"name":"apollo-datasource-rest","version":"2.0.0-rc.3","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@2.0.0-rc.3","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"291857207330dbc68da21fffea976cec48aa8527","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-2.0.0-rc.3.tgz","fileCount":27,"integrity":"sha512-5hcpU8lX27GHeIp7EJpSOt8XoShcRgU3EABHV8EHYfIwZhEF++y8xc/iYiOubWvelb80FeijSyB9r8K4An5OeA==","signatures":[{"sig":"MEUCIERY4bzzNy2L9iK2ghU7jQJ9b/SqerhVlykVz20oXtIcAiEAy/sDTm3FSqj6RcQBPg04bL3gboYo9Vkfi0jxHGGD55c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44730,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbL3LmCRA9TVsSAnZWagAAxeQQAIgSS73p1ctBCK6lDYqJ\nXdm9RoZ1GDsrs63eE9/qh16yKH3lDR+9o1NWU45e0GQC4+zj4HUMgqWmeZsZ\np2U08Fz5AvDqCq8+ngYYldFWQ2IC1DDrdsO+8GGUXHgyTsa+od/v7/Tr5A8m\nHitZgqFYzCHy/ibb1ClEjk8rYmSATwSePuOrMFTBf0b3wk8m8q2X1Mkp+nKj\nz1xsc1xroPd63bnVZOYhXTKQHg2tEwBdGrtredBqHmqvQGw4H/wMhKzE3DpZ\nf2YnKOi55U6EsEDeI6Ev8ccOPe2TPnvHb1rAzPKbRFJ1RkzF769nG/sk6q1a\nwsrEipo4sGLI0zSW3iG+T1huYBnlp8r3oYij9FY1HRN9JKBsQm15j/ePXxZv\n5KKz+ANcFpRguSBg/L1IpSVnQ0+QULrALorA/8720IrkO15VRFu3ThPV2PXP\nzbJaTYRcj52q+XkT2FfZVYPekHHJkfXhkfN2jNE3hIjUadxkRb4PZzd7C+5g\nMDmfxvJe7GFYfCnbkUGoQQGiIJp/MpTzNGMAOlhEyTb+dzX3GpFc+FBeTzXG\n2U6gt+BbpBPHMTjgyRV/x38Zp4he7fWHfzAQOM4iSSz3guPG7uynQJRpg9Q3\nDp62wtVNtQ+u/2EoeHYQtw5YQ3qujPwee2gEUY32wOD1ZmTELYNDHH9urePf\niuSF\r\n=X+UQ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf lib","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.1.0","directories":{},"_nodeVersion":"8.11.2","dependencies":{"lru-cache":"^4.1.3","apollo-server-env":"^2.0.0-rc.3","apollo-server-errors":"^2.0.0-rc.3","http-cache-semantics":"^4.0.0","apollo-server-caching":"^2.0.0-rc.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.1.0","ts-jest":"^22.4.6","@types/jest":"^23.0.0","@types/lru-cache":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_2.0.0-rc.3_1529836262562_0.15759305010395686","host":"s3://npm-registry-packages"}},"2.0.0-rc.4":{"name":"apollo-datasource-rest","version":"2.0.0-rc.4","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@2.0.0-rc.4","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"b05a19acd5bfc839fe9fdcd498686ef5648da50a","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-2.0.0-rc.4.tgz","fileCount":27,"integrity":"sha512-PLjs1H6AwiaUqxXLVNNfJVHyirYIWpZSGcVrRBp+tF+S8+v++9sTZ0SHU6flOpdznMmihRVlxY1Ts/z2dyXSJg==","signatures":[{"sig":"MEYCIQDUXEyfJze9IbxoL/WneoPJOrmI30ssU3QXbQXIC5m+ygIhANu3DI8f1Ji73vxbVjfBc1iwKidSoh4FnMgbbC7qpImy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbMVdoCRA9TVsSAnZWagAANKwP/0t0VPJiKrPFxfgWM19o\nlba8vcc1pzdZN/pXdM+1jlXQk7TErl6cOP6mEyRUS6iOKb3pm0qDA6kYRA5/\nSQKsKaq0LVeB1/Ah9S63N7WSqtl0DDueAFADgHjmtD2ry4C0pDXF+/UdxSc7\nVYMsC7iQ51NEu4CN4v5Wgn9kVqPsyOH2ob9nHzs1QnvkFljU6u9GH36Z9EDF\nJ+Rk7dfQB5JTe2Q3kfxJTajjfkDnrtfP6tM2n8kV3pCrxWs+bErui/M1ozOI\nxMfkIhoBQFGTRpeLWRIYptcwNN8Xd9XB+il+a2fqUFsZCArBLlwFkz0pJgYb\nJ+fZqpwRq9Dmc2uTnlEnEmHVstHvro4RcZlVOA4kOczE44vS3mt964loNIWm\n44jVCmpH/YsPtL2ZrH7f+aJ+cTFWUc7aSatJXIUMLePV5jMUslfyB27ehpG9\nqODGz9QTrNq6VUk8p6QXGIKopkb/lc7JTOWc3pHpoi2cIocsaakG6CRzA1A/\neTIW3OGNkwTlJSZmn6+qL0gepH2BHUcgVifWWJu/jQ6X/z20ItjcGKwHb84P\nRaOe/w/TpGNyukO4NO+vyiuDhQN1C3SaKVc2d237hV930iYCpYV4A91cxtsN\nHrdFulwqcuZQy9U1a3vqehg2Mm1Onmf0l4yO0DMnNA6DnAdPjrafY7E/X/Ya\nPZ+i\r\n=rw9p\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf lib","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.1.0","directories":{},"_nodeVersion":"10.4.1","dependencies":{"lru-cache":"^4.1.3","apollo-server-env":"^2.0.0-rc.3","apollo-server-errors":"^2.0.0-rc.3","http-cache-semantics":"^4.0.0","apollo-server-caching":"^2.0.0-rc.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.1.0","ts-jest":"^22.4.6","@types/jest":"^23.0.0","@types/lru-cache":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_2.0.0-rc.4_1529960296771_0.7181021802812071","host":"s3://npm-registry-packages"}},"2.0.0-rc.5":{"name":"apollo-datasource-rest","version":"2.0.0-rc.5","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@2.0.0-rc.5","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"c0bb1411cebfecb2ab1d90cf3cb8bd60b783b6d6","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-2.0.0-rc.5.tgz","fileCount":19,"integrity":"sha512-ICqDaUkYCLKT/Oz/U644ujdXuJtj0RpMfBsAPOhUiZHaVNSIFcC6L1YiWjg4m+XFacN2pecVZ1hZyLCHkaBTFg==","signatures":[{"sig":"MEUCIQDsklSs0LHf3s9x/gHoIeMUzA8eCGw90e/cOtSaLew86gIgYewGE9iLNd9+Km9G+Bun7NLTRcbfhg4/D1cKGq2taJ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45419,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbMX//CRA9TVsSAnZWagAAhJAP/jrExoSYmXFckSSnXHjH\n4Jjkce+ZCFwJr3qebeT7cIuyWi5dVrMrJqGVrjHuDUWO/n50j+ugtnB1N8ne\nzEq+7Fj1qKJCnJutmSCazpmTOXTAsaPdHuupWtbYE7GTtp0Luhcxptw0nbSz\nBGFp59nHsPvRFTdRnaQLQaf2tO1Sb/5ABVEWgOIqSZ6v4+6gtOFAIrzSGuTD\n19TP4oMSRqfnOncLtxOodqA7bInH6iwPP7HAZIGtvxd38fwxmJ6chT89Gv+b\n6OWfqQrHKqw0vBWyOg3Kntbk8c4Fd5I9F3jdPInWp5Xp3LUOjMwikfTPDiEN\nzhBmv6EQjkdb6UkuXdcEANPY/k7RpF2A4fsBfUas5twQ35OV6zPx7h+0AxO4\nbkmsx2EyZcr53ZniMET9tRKkZMDGiJpiZyBjrzIFzeZ5d67oS369KiYaWM1e\nAVoUzQg1PH0CG4ve+z8efoV6vgpP58HrbbGDr7dE9/9Cl0iuFHttsXMY+Yms\nsFT0YUsEKicTvLXRaUAIRIAN7we5F1Ud3mz8rtuHKX/z6BG4cmDHAGVoqehw\nzCNmiKHGWNU64UVsSj0NITuaZqtszsjsf85O/2QtOtbbF9M42zy+0T+9ithC\n66e2BMLwugmWEjXaLidx7yeW4BuFYm3FPOi78OGN88VMIIgAjDOBL+CQwLXj\nX7Hz\r\n=BPI6\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf lib","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"lru-cache":"^4.1.3","apollo-server-env":"^2.0.0-rc.5","apollo-server-errors":"^2.0.0-rc.5","http-cache-semantics":"^4.0.0","apollo-server-caching":"^2.0.0-rc.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.1.0","ts-jest":"^22.4.6","@types/jest":"^23.0.0","@types/lru-cache":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_2.0.0-rc.5_1529970687232_0.869925248201272","host":"s3://npm-registry-packages"}},"2.0.0-rc.6":{"name":"apollo-datasource-rest","version":"2.0.0-rc.6","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@2.0.0-rc.6","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"b87007917a98a5ade4ec82f7187d81de62b8f5cb","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-2.0.0-rc.6.tgz","fileCount":19,"integrity":"sha512-jznrgI9+ujXdYT0dnRtZtjxcD9YRuTwvqk1Sc1dqc7c5aDZdwyt1cWBYACoiWw5/YBqusb8fjSiYsAFT1YZCPA==","signatures":[{"sig":"MEQCIA172R8LPaRLeYxbdB2Ose0LgjWVxoJ6EON9YcyYh6G3AiAGKA2R/V0vreAThNiicFNtqvtcstBeZr1YOnsok08KuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbNno1CRA9TVsSAnZWagAAtfoP/ibCSYpdx2atxjtITIIY\nsXDD2OLNuYTO+1wcf9UlThie55PyRepCf3xAzJfwoGSvIxZ0h9zFUzjd7MqG\nnull/NKH/LRCEpaB9SCm0YCowKopyg7A/Et0x33+wn0+qiTuZZN6yeOO1ueF\nrRjJENYtUR5OYVTDt4EbgYx4SH9eRSs7s+XhlSshpf43kpmPdobcFDQDWT8k\nwpF6ZUd4TMtRX/OiOWcWrxwkdZHCWK9LlmuYuwXjzDA0NrawAkMYfEAUaZeM\niZ2nFbHabge/N+yxXayfaFBPwfjb+OwZmPaKTmGQmlD7YEN6E1kjGhGpoPHj\nxXFlvOYut8IpcVkTxbX4Lf5IfsZnpaXwvl5HKDsKdtH/0SzgIhc/TzuU82Zj\n5twAEqoD+YiFuPnmagNj6Zu0Hh/+evsG2CiBFBbGlbdva/EXcFt/aROR+Tfg\nFth4Ut+tvWkxyoOjoRyBPAYj3wAzE/9s5ex13z/Zm3+VFd+l53RyOuoBLPE+\nzFAWIbT8tLtwTBW8kpMQLNL9SuQfSsBYst+54G9hQMFM4XEDkXQ0J8G5viiB\nS1Ym5AYGgMQePqYeEu5mUe+fTNIkDlP5zR9ud/oeRiXoVUxplzdlXrQXuwwg\nlfSYsNC25oNUYpavpI3Xfb8Hl3jJ0sRQgDt+W5OyDvhGvqQUp/xHEmK/aGtj\nBbEP\r\n=Fd8V\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["../../"],"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"apollo-datasource-rest/src/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"setupFiles":["<rootDir>/node_modules/apollo-server-env/dist/index.js"],"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf dist","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"lru-cache":"^4.1.3","apollo-server-env":"^2.0.0-rc.6","apollo-server-errors":"^2.0.0-rc.6","http-cache-semantics":"^4.0.0","apollo-server-caching":"^2.0.0-rc.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.2.0","ts-jest":"^22.4.6","@types/jest":"^23.1.2","@types/lru-cache":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_2.0.0-rc.6_1530296885766_0.22383260196732868","host":"s3://npm-registry-packages"}},"2.0.0-canary.0":{"name":"apollo-datasource-rest","version":"2.0.0-canary.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@2.0.0-canary.0","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"27d0f2e1d65068a9ec422801839ab3f9cd522e83","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-2.0.0-canary.0.tgz","fileCount":16,"integrity":"sha512-jhG0onoK7L5Bfv4kjDvjKIYmYB2yj6aZTiA4JckMwECCva5+M3d859Lqq1c9nYW8GMgBWd2SLIriPNUiS3lL2w==","signatures":[{"sig":"MEUCIFcrokXoWKCBHRGsKRN1x+9kualpDItC2+2GX0L1bFLbAiEAi7KKqCijJMsGtiULfKCQuqXjWdH8oYx0JjIEULh+Xzk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbP+lvCRA9TVsSAnZWagAAAQsQAINLGttcA2ObI6E+LKIU\nRNo2V4rqLTfFMOXTq0Ng+0KOyLcsbiQ275iRsoHXgdC8z/7jV9ZIP+8J0YFA\nj1dro/HrJ8Yf8hyZDXQHj4JaDwKaHiiRxr+NKnyyXyKhB5OcSzHCOesZPMDG\nciwOFuoMVlpPppQh4XjamamDjEae5TyHt2zwtdk2LVNsQTdS7C6VR7xVKKPZ\nCtNw/WZxe7BKrOH6ZgU2tZtQeNKBfFGzeuarylf4Fx72lVEvnOuYRMXkqLgN\nzt2bWOF4H4teHWyjhzcpAwjvZp4+90xuUvZ5PMxX0ESkCNlc4STN/YeeLmiZ\nJW9ck7yoOteoS9ZYRy/6NfxPIJPt0zEljscSPkn7VVyU7crD4kzimaWQeG4b\nThtK5fjQfXqw8MQR4BavnISjZvljC/tIlPPI/nOsjeFVYh2BT4Sp/pKGCAGg\nWq2DAbvGgraw2MaTlO7uMsXFqelQRd+sJ4yluB6HL3svJstifaqTMfItrRUJ\ndQX4L4v2ZtZ4GsDv0YMIXRc1Qbs408JMZRb78YVzHFlae6ZdcSATloxUT7TH\n0wCxtTuoLDd4SClV4dvjjHOHgz4J6gDJicVAWO7JSCT13k149C0CqBuiheqJ\ntO8Kytvlz6NazLCzb9o5XvMCsBUPElB9HTHnrYuwbiEZbOmYJJxBOEb//J2v\nbFxr\r\n=40bM\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["../../"],"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"apollo-datasource-rest/src/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"setupFiles":["<rootDir>/node_modules/apollo-server-env/dist/index.js"],"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf dist","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"lru-cache":"^4.1.3","apollo-server-env":"^2.0.0-rc.6","apollo-server-errors":"^2.0.0-rc.6","http-cache-semantics":"^4.0.0","apollo-server-caching":"^2.0.0-rc.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.2.0","ts-jest":"^22.4.6","@types/jest":"^23.1.2","@types/lru-cache":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_2.0.0-canary.0_1530915183628_0.46838338855217576","host":"s3://npm-registry-packages"}},"2.0.0-canary.1":{"name":"apollo-datasource-rest","version":"2.0.0-canary.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@2.0.0-canary.1","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"e691d27fdfee34791130664b3656a71b4e867b14","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-2.0.0-canary.1.tgz","fileCount":16,"integrity":"sha512-wRWNf4IepigZBjcVhKCYnXZUVSPGIJJPK2AyYsoGJTzFcNR4PvvhH2jtsc5oSCERZG3q40/TAK3mhcPZJyd1Sw==","signatures":[{"sig":"MEYCIQD/7p/hO9ehj2POFfZROdWigipmKODd45Oame0Ysye5pQIhAKplbLAxsR9I6f34krbmGn01NDpc4aN/diDWU3aq0sId","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbP+mdCRA9TVsSAnZWagAAAIEP/3wEFMmBUNL04+LmLsoG\n2d2FRZkudJbom824FwEFrp2PBzZAIJ1B71AKxpBgtMOQIT9ij7jbjyWXNf4Q\nTzKGA4sX0qcsbHDioWmodJS/qRr6+lXpFcyB/a2Ktjby+sHoGAMBr9lNE4a5\nNaWYdFe90mHLzlQ258HKLb9jjofM07nR2f8Ut9ssBu3gdCT9hb7aJmcGX8SF\nCTM8u/jtQIDxqG7P9YbzYc2Es7Kijwi8T8m0iZkLRMrse6TDMneemNZpj7+C\npZEtQo6DmfJKlvNbp90QqmdrQ+3zIkuaQXwnZOscRYq8MwX+y0l7cXaWadKY\n5o5NmGmjJNokMe7PGhuMRmuYQAyQkgv/yPKKR8Gf/drlRRSj2KGmNhfm0r+F\n+DR6ij7hfHce6lc/bMe8OOBjgVx/GlxUJdB3mekaTJgOT+R24ZETPL4OecE6\nEU/eCPC8OsKEAiv827rh8SnREGvHCb5EgQBNQwCT2UKOJMk0835XFjiXQjAJ\nC1bdOHtEH51VSMKKjmTqATBUd4JnJ6Pi8HM3vjf8YcwosIvF8GmKohTSNLPc\nRR5UkZLPzq3CeTJ7rYIv5zxu+K2GZXTHgnCQhLrt1Q9720oHDHLa1VSO7TyP\nIHpOYQHSFlV8xBZQZRMA53T+Yq8hb5wDU8gkUsKuDJgHEqeZ7TBQipqzcpOb\neqUo\r\n=Vsev\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["../../"],"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"apollo-datasource-rest/src/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"setupFiles":["<rootDir>/node_modules/apollo-server-env/dist/index.js"],"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf dist","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"lru-cache":"^4.1.3","apollo-server-env":"^2.0.0-rc.6","apollo-server-errors":"^2.0.0-rc.6","http-cache-semantics":"^4.0.0","apollo-server-caching":"^2.0.0-rc.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.2.0","ts-jest":"^22.4.6","@types/jest":"^23.1.2","@types/lru-cache":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_2.0.0-canary.1_1530915229794_0.3674774526967528","host":"s3://npm-registry-packages"}},"2.0.0-rc.7":{"name":"apollo-datasource-rest","version":"2.0.0-rc.7","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@2.0.0-rc.7","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"6ea472b422a854d484a56b1de5a51e4fdcd2f84f","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-2.0.0-rc.7.tgz","fileCount":19,"integrity":"sha512-2SuT4zhpM4yYSCvApwYmXapxEvcQ0f4iguLryg40AtAVUkmfHmR4JHf5qv7+2smPt1G9conFrGAvhwjz/X79mw==","signatures":[{"sig":"MEQCIESyG7mIzrZYrRxTEGbHl/wCmZrevORM8hF2Dz7OOrCCAiAOJYwMVu3xNe0UrB9dh96qycDOUm5wUZ47986iI1CA0Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbRBrtCRA9TVsSAnZWagAArXYQAIWXnccKUdPVFMXaJ5BS\n2ZVvAvZDEzal8eEENP6a79oHJ1UEbQtx8wlrI4a3C7gOFpQ2QfUeto96wA8H\n7lETwAwTWH65rguIuamVrCfE6UaJOY5YNPzBq4VmEpnoYxEmKKJ43RqSlxsj\nAvYgM2bKceiHS0a441c6cGDUau5jfe2Zs6d4PZ8b4M2/AGjFwOoJS15X7QS2\ne/WBjOU7sJ668IVaR0TzmgclGxSnDaiLliHodej5wnvW4lplCgY2Cy2EZ4fm\nJ9X76ajs5vRqSPp7Kqr75pTwNGp1PL1NQo5Po/v8spc/SpIsuxZMmA5YQgSb\noo5f1cvkQKcBrY4C8O5Ji0UXLFvRv0/rgAH58MpxBBFULRXJiZtC5FbK4a/P\nW/wMbhxReYqzmCi4idFzhXZejTzVhxAzeYe1glX5oEN8/IdxE2s1CUiWsGlE\nedTbdpPrGKqom/yZzwNBp5vrL3LrclAS3qaS+chEesP4j4fGve/OyiHWhFym\nVrstNMhQdM4WtG9llinQQtNkk0gik9OwEd0UpqggY+og9eFpr+AVUJh3lA/w\n99xanUsHWSs0kwPFol+Je+k91H6oec158WtSTUPWdWgMPUBqYlDXy89XW8io\ns1BjRUBpMPaXFss8+Y7wDe+qHhxlE00027/FfdOTvIcltEnqraHuvslfE3LH\neg8R\r\n=gNKL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["../../"],"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"apollo-datasource-rest/src/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"setupFiles":["<rootDir>/node_modules/apollo-server-env/dist/index.js"],"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf dist","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"apollo-server-env":"^2.0.0-rc.7","apollo-server-errors":"^2.0.0-rc.7","http-cache-semantics":"^4.0.0","apollo-server-caching":"^2.0.0-rc.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.2.0","ts-jest":"^22.4.6","@types/jest":"^23.1.2"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_2.0.0-rc.7_1531189997014_0.9006339908177776","host":"s3://npm-registry-packages"}},"2.0.0-rc.8":{"name":"apollo-datasource-rest","version":"2.0.0-rc.8","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@2.0.0-rc.8","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"1475d1c3183c513de88f79a09a5e3987634af833","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-2.0.0-rc.8.tgz","fileCount":19,"integrity":"sha512-oXX2HblFyTP10JbM+t0sWVAe6AtwXctDxnfQfhco55NX0tGarbHGBFhEQjbAm6/0noZ00fNEUzxnM3EIUQq51w==","signatures":[{"sig":"MEQCIHpJ6y5ynFRu2OKonh1tZVrVx3isNdrfb4b6mGrNeyWUAiBqD5ZWO1DKDKFQu7cIAjRoBSB5ijwfmHIeE1uVd5xyag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbSUjJCRA9TVsSAnZWagAAaaUP/2S4j1ovUzOhD3sgJ2ld\npb/zFoB/6c1GeXDNAqCH29kQQFu2JAzIRFgHZfc4MsQFyTpttJmOgqExs4w0\n0lCUxu8kZhgBeHZtPRlA0tEBFTZUxZ7a+kPwUTyy7eJX3NdaJEZguGW6yvz1\ngQIeCvF08JgMr9gC01Ng2b24UTIUN6R6Yv+Bi/DFaNTgODOLg4eyd6TsvG3v\ntF5CJ925LFmphEa+L9T6xr9jjMUp3LJzs0uKo77RAyJzYgsprCtcfsc0Nuw8\nl+SW/2cCv6G5Nt/oVGZArJWOMYwzqyRD3/yaVCSCD7Y2vX8hH3Adqx4C84h8\nQ2v07l7HuartajaMvv2iSpNo79ieOPRpGBisbpNejAADaTKU40FIrwqXIkGC\ngvAcm7pZPfFQNxq+ISDB4NyBIRLeyAKNVsTWLv6zT8iQlWj+Lxu9AcdyIOl7\nrJVx31/s8VFTs5tCKlKJh5FJo4faR6n/kVdQF1uEq2RlyCXWvGfYaBeHqEti\nxISfU73JsTpn4R/KGQvYwG3yQzycMcOTXuUCx3HDzQ5r+N7oBlqT1siBzyi+\nqAoj5feuAKLEBgZXEhSd4uPK4VWN27o1Tphx6bj/2xpYJSn2DSqzbtJ9UxV8\n0H0lMSIV0va935HRqhi0hfsiDTLMwFYqm8/hI/c950dz9DAlig2WODJIz4AK\n+q1s\r\n=hRzX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["../../"],"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"apollo-datasource-rest/src/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"setupFiles":["<rootDir>/node_modules/apollo-server-env/dist/index.js"],"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf dist","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"apollo-datasource":"^2.0.0-rc.8","apollo-server-env":"^2.0.0-rc.8","apollo-server-errors":"^2.0.0-rc.8","http-cache-semantics":"^4.0.0","apollo-server-caching":"^2.0.0-rc.8"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.2.0","ts-jest":"^22.4.6","@types/jest":"^23.1.2"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_2.0.0-rc.8_1531529417636_0.4340847303630526","host":"s3://npm-registry-packages"}},"0.1.0-rc.9":{"name":"apollo-datasource-rest","version":"0.1.0-rc.9","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.1.0-rc.9","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"d25f6da9c635ffa1790bdca0410bc82edf87aa69","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.1.0-rc.9.tgz","fileCount":19,"integrity":"sha512-BfeFtR+ROVTCdEKhEx6hTpk+x8Yid4eiMdakMDgAjXjBuw9ogjQeAGTkopAgT1UllciTvqANfMDKqJzmdviXtQ==","signatures":[{"sig":"MEUCIQC1n3Nskz8Q1di4ZHQGHAkY7xmovEzHUBIsFkHPNe1B8wIgIC1oXDtLKe+lUXudzQr0QVk7DMjCEI+IETYdYEoLM4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69138,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTitNCRA9TVsSAnZWagAAKF8P/026iP8YOeh/nmpKZb0K\nP1x/OQN7DNnS+tDYfxokPrdvpgCTO7wEa9QDx1U3TyL0f5BbE2Crjr0m4Xba\nCgSeyYfMB0PV1cVqi8Z22IsV+WMg1EW+Qu4dri5VjqFG+mYv6lmGocf8wnY+\nV+T9TctSMq4mY/VyE95rWuv3/Cq2c2MugGjzJbNzkqzc4FkWChx3BCWOm86h\n0+gG78DRvP5m5d4AUpdq9lXb5WOrmUJNbE2QqTnrlWtdDth9tcXbBkiifj8e\n/djBvApfJeRuKFryJulgMOBMT2gluQJv8Lp35U1UwC5z9y8V0dFh0mfKcqhU\nUNC9CA7FMmzbh3F28sYW79l66YSG26vBBq3HxztUrb85LlZpJu/DptaNCD+0\nsupfxC9ST614jRy32IKqVsTntKooBagR6WPXIGMrZFQgXdaWhtQF9dOsDLKq\nscH2ODP/KhQmuIhQeMRwRkTqo6zrVsPiSArNgsk4awvwslozhFiQN/DV/kGb\neoIwXDvR6vK/n3QF6ePqm05GD+8De6Df/bfda7+5B+Q9GfgZQKVDXdTQpxco\nBusEphCylW34UEB7PLGiiNRb/j+dPtHvXKp58P4Tc2hzuLs1MpBZ4WaYsqjC\nsWye7obALqcCoRhwTc3gPVywyiOejkwJ+cZOHO5NvsdugTCCncdGZGqscOLw\n4UCl\r\n=A2PH\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["../../"],"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"apollo-datasource-rest/src/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"setupFiles":["<rootDir>/node_modules/apollo-server-env/dist/index.js"],"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf dist","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"apollo-datasource":"^0.1.0-rc.9","apollo-server-env":"^2.0.0-rc.9","apollo-server-errors":"^2.0.0-rc.9","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.1.0-rc.9"},"_hasShrinkwrap":false,"devDependencies":{"jest":"23.4.1","ts-jest":"22.4.6","@types/jest":"23.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.1.0-rc.9_1531849540908_0.8134269619320025","host":"s3://npm-registry-packages"}},"0.1.0-rc.10":{"name":"apollo-datasource-rest","version":"0.1.0-rc.10","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.1.0-rc.10","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"77a7e30a1859d6e525195cab1f72e3d1ae6cf4f1","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.1.0-rc.10.tgz","fileCount":19,"integrity":"sha512-MCRep6KiSyuVA1g5Pe06i+6afrf3yTnb7/xmPZpQPSiiRc6W6SyeLGZq5lNwgoN2hR/La1JZrN/briAROAL6gA==","signatures":[{"sig":"MEYCIQCQM6tFhElHxyKvV8tRvrrmv7EJ6ueV30q6RMWrJ3nv7wIhAMJpWMJH3Cjh7tpD+w3bHsu9opch2yXcLwz4Oc9KG3DU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTi3gCRA9TVsSAnZWagAAMKQP/3yFjlWuq7V6h2IjNIch\nEyXZlUJHX83+2lJL44oWIwp0fpfp9ah42MbjPHYsLtjjT2qj8UXN6bdU++fN\n/nz1kNkIwZ0a8cfX1aQaewjciK90svjRK5AKU6+Re5HgXB7PJkibHKCDdoYO\nACAbvhQizDl1cpfqwjWnEUEUvP9qA5ajDe3PbqshIcaoh8jlAQEyjiV5+18A\n17dG2RCNIqbhrfr3bl3HwQ4muKSLfaxx1RDN4fku8vE5VnNpjd/Sl5M5gJRU\nbBiQ3+ERKnsDdIunihAyKjreEiCt91JNx33sojWmU5/E14TsA44sPgKZWZhA\niC5iksImfr0hdRogGnSFbp+O34aRhZ6GbGQeRpSYq4LyZkrZXBoJG/eZ7I7Q\nAFTQ1sz4Ng5GAxaJgsHpgI2Wiv9jZIOokjGcSWLHqTEG+RXm72FnePyraubO\nzlgwhL8YzqAmE9gxEewtQfsPmPej+zZ6qNpB04juM3Bnj0dsak8Pb90CpSEh\n3k9XJWKoIXz2ZGFPioW4priKiNz6LGNFOrax45Hww0Tk7I/l6h5+liJ7V+tW\n6HnqPC+TfyEKaLzw9ljamdbFeb2dv6fT0/BRiHDuxV8DJ2yiGYPqz5hCweKd\nrQzPv9Z9foccRkFEwqG95sGPaRl++u6OgIWBaoPybSUKetX4LYwim3nwvF5d\n3HBx\r\n=WXrl\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["../../"],"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"apollo-datasource-rest/src/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"setupFiles":["<rootDir>/node_modules/apollo-server-env/dist/index.js"],"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf dist","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"apollo-datasource":"0.1.0-rc.10","apollo-server-env":"2.0.0-rc.10","apollo-server-errors":"2.0.0-rc.10","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.1.0-rc.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"23.4.1","ts-jest":"22.4.6","@types/jest":"23.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.1.0-rc.10_1531850208448_0.789222541333445","host":"s3://npm-registry-packages"}},"0.1.0-rc.11":{"name":"apollo-datasource-rest","version":"0.1.0-rc.11","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.1.0-rc.11","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"cd2487e6ff8e2595dc731c62152526cdaa7a83d1","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.1.0-rc.11.tgz","fileCount":19,"integrity":"sha512-zDu5QX4BJpUBQiyuhYwiz+0BaOTSPfOYCrjaGH6I8j+/Ebj4PxVgI6P4lmS0rbdRFamWHY8SoQtRRKCqq661cQ==","signatures":[{"sig":"MEYCIQC9GLv1t5oyRXJrYObKMbiuEDcwW2qoI3Uen4d+FdEmCwIhANGBK4/zR+Jnl3ecoWXAvMtwKXc7IXaOWTi+iK4pLzjU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTnuYCRA9TVsSAnZWagAA4UYQAI6HptiwLYBz1rninDTz\nOMM8Jur0KRx+Gd2Yc45NUQgQbxNwPkmw1sZyVXepW/wjI2KhxfmplxC0B9yH\nbmR/aReOUk/URaNniHcrZ9JhK/3E+SE2WXBkvYCYmoxo+2IO89kp1+gr9e+9\nL6q7Lxr5TZCtBkJtAXQvixPR2Y9wTMhRCnhJMoOwmRcxHHoA7ES7/ee0xzmF\nLZrWqSI/Q8lrEB2SaCb68Pu/oylDHmG58D2GahXQjeel7qn1EZlyeTPDn37d\na852xwV0pab7hx8A0gsEcj0wI4Ts4fa/PfXLCvcNEhplFeUVjWvx6I5jGKdN\nSHrAnhKSeByRN3DKrbfQF7WmIRxvTbMB5eQ3tad1oiEYqVkTj272R2woMXzg\nOqY+Yy5JyvWYZjSYRIJnpMx9K2KG5ZRc4wafb5PdiL7vH96/ymeHg8PXD4FY\n1Wiyq5D0Rz8a2haJDhLfUAYbKiU66K+Yj3w6y1bPVppwigXjFlWLIDyQ2+PH\n59hpm9JV6yYZ5QR0vRcG8hycMgdldbCENfbr33ZIR4YzDmLrDlkCxehn1V+O\nmnS5HDociHicrBwi8vDDCTwnYDmGpGyAysjB1sfIaZW3eflnnArwi4p+Pyjh\nqzbqAsgjJf5/OmUH6nUpRGGwsfR7Ilh3vwbQV12XZswosyPpXpAvX7GuZij1\ngoUW\r\n=5Buq\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["../../"],"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"apollo-datasource-rest/src/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"setupFiles":["<rootDir>/node_modules/apollo-server-env/dist/index.js"],"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf dist","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.2.0","directories":{},"_nodeVersion":"8.11.2","dependencies":{"apollo-datasource":"0.1.0-rc.11","apollo-server-env":"2.0.0-rc.11","apollo-server-errors":"2.0.0-rc.11","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.1.0-rc.11"},"_hasShrinkwrap":false,"devDependencies":{"jest":"23.4.1","ts-jest":"22.4.6","@types/jest":"23.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.1.0-rc.11_1531870104304_0.5593552456020858","host":"s3://npm-registry-packages"}},"0.1.0-rc.12":{"name":"apollo-datasource-rest","version":"0.1.0-rc.12","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.1.0-rc.12","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"0358a9252c689dad498f2a23a756ca0c2c041516","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.1.0-rc.12.tgz","fileCount":19,"integrity":"sha512-Tqy4qfNknKk0zCOGyDiUYHo9vUg5kN/THvg8zqQHOQWOVy5lC+C7kGPT0HdyClAoB3hUj0j+PMmbh/hhZ5qtHw==","signatures":[{"sig":"MEYCIQD0dr19tFfVbupG4qaJHJ+V+S+2blu3uPrby0CRCDOAKAIhAInT9CzOgkIHJoaNCT1r2Z3AvxLGwwZKnH3YOlAKWzK7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbT2C3CRA9TVsSAnZWagAAV+sP/3JLTdSeszjcIgq6BbZa\nx/tcGJ1tUDG9y9CmdZJ5w7XeqUUNTubOrL/KUwlqQNDg5tgHqP4gEjDguR/F\nOXRLEAqV9x19p/bd8au2dCdFbINYcQNOyG8HYcuOIlKTU4E7l2zjrKB4/1yr\ntB1eBdYUW9KXvFLgfMZm3OVc6Y/H91LrMzlerjZ0KJuAJutF8x78QBVFB+n3\n7E3cNb2iPWdS1p0mYCGT0U8u06012UOjAC++/ZXWSo/Z5NE4TjJVoTESXra0\nYX0tw0loq4rGKmhTs5BQIPAOboNAi0XRKghSG4+HLviEgb+O+UGAfuYYCJvw\nj01Q6jRhEcQzA3J0xt9LMm/DPeBxNNFeSf3QmtiQ6FVCjWKiaQDs+fkz8hQb\nT+zcPNJqxYCkM4crvDRSngQQ1boe5KQNGXoi9/tHmMZk2j7I7D52KN78WGMn\nvqHDzT9qYBXZMuypNogR/T0yVY8ClNkvJeGDXn8KAQ+8knpAy/N7s2uHkdsQ\nZogycTl4Suz1tEYGxUFjcZ7sq6AsQhP0kImjioUBg79azar+CmqWHgtS3+/s\ncE50kpxzi9bkdHM1W4FfUe521FEteOqUi4T6skVxA+lLMdljvOvWsHZcnYHg\nGzRuDA6FEFgag3JnDZYLnY8QPdtAIhAPWUlS6x+hBTmzFQN95hlaAfX3+1cI\nJFrV\r\n=p/am\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["../../"],"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"apollo-datasource-rest/src/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"setupFiles":["<rootDir>/node_modules/apollo-server-env/dist/index.js"],"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"19dbc364365f4e6dd66fbc18f8c2232e172d71d7","scripts":{"test":"jest --verbose","clean":"rm -rf dist","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.2.0","directories":{},"_nodeVersion":"8.11.2","dependencies":{"apollo-datasource":"0.1.0-rc.11","apollo-server-env":"2.0.0-rc.11","apollo-server-errors":"2.0.0-rc.11","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.1.0-rc.11"},"_hasShrinkwrap":false,"devDependencies":{"jest":"23.4.1","ts-jest":"22.4.6","@types/jest":"23.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.1.0-rc.12_1531928747343_0.9002936037423379","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"apollo-datasource-rest","version":"0.1.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.1.0","maintainers":[{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"a6a9adc2f7087b18c197a605b565948560c55be1","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.1.0.tgz","fileCount":19,"integrity":"sha512-sMdmdwif7trMHiNaVhBk1hGZbjBf8X0vIfMXOL0lZE8oNViqrClv/fwOlqetZVBCfKMPNDeODUN+82It6La5QA==","signatures":[{"sig":"MEYCIQC12nYhe3Etgg636mcneD07Pd4EjXQ1bGT4djBXI33QcQIhANMUencFjCe5bHbyVrbL5XDMNogJ4ILPMQQG0wW6zeYs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUOuUCRA9TVsSAnZWagAAOO8P/0q56wz0jPSGhkr/rsAi\nWhDkHfWxdHrfHOdtwJB6A+4poYF4ddEOSL8ba2+Jb6nHTsCTcci1+6k2hHfh\nVRDinOvjGMAYOpAbUHoD7OCWFa2PRQMCFUi9D6Gu7q8GBtbng9tQDiMsgs2i\nxsOiaCVy5qgOTH2ovs7SdrllkXam7Z4m1oUUGYFUBpNOuofzzsVfiHDMXJ4Q\nZ7llodnG7U+EhlLrP+yDSacu5pZE8dHNMSxC7R8v31zJ7RbvB82T6Zdv/JF+\nXFRsFw3uZTebkZccrMWPebCZVoYJfa1dmIhrc6HTyfrS00dNtZqaHq4+c/mb\nHg1qBeEFuaBV+AT8ei1pFUC7gI9K9MBoN/Z0oyNdJseOffpPswZXhJMVAmiF\nS5IfcOQTlR19hYpAHp+Nf4dWwB/5H4BEHA65fxUqlMmBn99/K6YhN8eBsNIt\nJv53W6HEUtX9Ej+nmi9Ovyz30xrjS5K2riRAYm1uANrHPEGTnNJ4PTDbicb+\nZLiqBN5BuMonTtlspYRdE7qdo9rMGvMBkRt+2A4SPwjlKKogYvekIrDUPh+M\nAZ2Kin1FUG6oKPEMIqYmufj5OdrP/O5qkVMdMK8T5dLKE/oLJGMERLr6+FKY\nzCeW5oxSCQgmXWlrf13E08RTY//apv0/tjhPwjMGRjVqgJu53lx4BspfJXGN\n3sMt\r\n=aZBe\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["../../"],"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"apollo-datasource-rest/src/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"setupFiles":["<rootDir>/node_modules/apollo-server-env/dist/index.js"],"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf dist","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"apollo-datasource":"0.1.0","apollo-server-env":"2.0.0","apollo-server-errors":"2.0.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"23.4.1","ts-jest":"22.4.6","@types/jest":"23.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.1.0_1532029844295_0.8179591904483472","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"apollo-datasource-rest","version":"0.1.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.1.1","maintainers":[{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"},{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"c5c11b7d80c5b203340998da5a2474ec58881128","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.1.1.tgz","fileCount":19,"integrity":"sha512-q+j4aYWNri4VNvZkIxTu6yPiNqXawAbQfLLW+gzZNNvH5KZRuKtd1myaC49H+Su/g6Ys6dW5Fe/58Klwj69d9g==","signatures":[{"sig":"MEYCIQD8ZvAX/NwZNL+XoDyEiC5xgL+1A118wthelsiH1rGPFwIhAILv7+m+9JENPt3eu4p5SmyVNJoY2CZiU8yJmRYLF7v7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWwlCCRA9TVsSAnZWagAAWJwQAImf6BKKqCQE+ecOoFfi\nhwWuwxu71dNVDPxDZ+MrVVNsdSm5AhfANgU9l+RouRF5Z4LxQOCqbksQidqA\ne/7dnfbETYSBWpQ4i5ZkO9/PvwFkkpHOHg3/7qzYO2A8aJVnyfZT/STQsBFM\nBkZvhIKWTZcNDDRHkzNLxxdquYzyMSFsNgcvtOhQOz742AshOWm3RGBHofM4\nfnjqfeuFiCscV+h33ST28D4yQTz6zfLYxSFF/FJ8WFzPUnWV+fXE8LV7o9jm\nMtlqmGU4iNBPOJyQOgitrX49cErUNWrCB/uTVpr9WZetdAKhETRINth5rgpO\ntMKs9mToeWc+Zv8q793E+5hvAdDv7yXOR4LEuJl8bQMe/6yz/OC8qXpvL7W2\nk4LeIL6GI7c39VGKqKuUQXEKJz1rytFmnr9jthCkxLJsd9OGsYCAv6eH+fgu\nW5sbTfxxzrYaEuhqMMNv1ReUpI7c5mi2mwOqm0x1pcVh8A4NvZQYKmQS7zES\nNjP+f2E5BfXHIq7wDmFN3ExnmGQFV/ObiwyWP//tvD4a5CpnrGTlCkrdx7xK\nqoUvm4KrDttwahncboamxPEijvHUrvPBykAKk3qbbxKHpKskoiyUtXG3fMYi\nfGBrRfifpJPhoynvpvJL1n95rAI8ZKvPZoHY9HH7uilh/stv+/Ib4G9nGsVC\nP2yn\r\n=nsP3\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"roots":["../../"],"globals":{"ts-jest":{"skipBabel":true}},"testRegex":"apollo-datasource-rest/src/__tests__/.*$","transform":{"^.+\\.(ts|js)$":"ts-jest"},"setupFiles":["<rootDir>/node_modules/apollo-server-env/dist/index.js"],"testEnvironment":"node","moduleFileExtensions":["ts","js","json"]},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"scripts":{"test":"jest --verbose","clean":"rm -rf dist","compile":"tsc","prepublish":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.2.0","directories":{},"_nodeVersion":"8.11.2","dependencies":{"apollo-datasource":"0.1.0","apollo-server-env":"2.0.0","apollo-server-errors":"2.0.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"23.4.1","ts-jest":"23.0.1","@types/jest":"23.3.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.1.1_1532692802546_0.38119678095154663","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"apollo-datasource-rest","version":"0.1.2","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.1.2","maintainers":[{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"},{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"173dc085fc1a41009a5a9c5ec377da9aecb470fe","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.1.2.tgz","fileCount":19,"integrity":"sha512-ydiqSooE7Hh2kvUhQqJezGpNoHx9JecajEr8AVJQRitwzE4Q0OlI+io0tsRAjEaO3IEyFWc6s9rlH3SLYxG/7g==","signatures":[{"sig":"MEYCIQDo2Ccn64MNqfimVZHyUyy3H8lQR6u8NmxDrwl7t4dp9wIhAOtghXU6qSuowhBGkMpjv/kl8jLHYvHg6HUN+/7tXzPT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbcxn0CRA9TVsSAnZWagAA9QIP/i6luO6bq+ioEmQ+fyn0\nu9jkvqoC6z8RrZO0zZceWcKrfKNsE+J8wLgAIUoqfqyNF5c2h+9j5i8v43uC\n10B7UVPYsNU0hMSFTWrZGdo0bxeXMRNM43MXDxIpUiSqS+PhPqvZZUMAY94c\nJMj6M3wG0M8QKrMbXCoknOI7tG5FQZnyXdwnn3aeOuZMITQs6XQuwlTTd8S+\nSauN7WIjzpXjwMm50uMRzNemSSSXFDr1ZY3xctXMmptbE5bxBszQn8Je0LWX\nNDaYvREblKdfbcAbX5Jgcr0zaju5Ocp5up3kVbv2BhEfY9N0Zj9T4PigCoVh\nbtIAySzxXNjHY0aQZeDJ+tDb/38Ei8Ac3Cvipz+9JMpVmmp1itxPjMOFQJIh\nFQ3cPHx9vqM93q7M59BsF7WUlWzI+HZcTWWonjZj4RphNPM6a0dPBbjnr64m\n0BdDdmW1Uu+T9K7gaqKMplTLTiItmz0ThG/y8v/yopzrtR8Qg7jOHg97oc8C\nSx9fIMUeOmJZgU2ry9vYI2JCLhouwtutAFO133xJZvwm2ZOJTIMec87V+Ug3\n5okpxlCRLINtNFY37ZifkzFgDq5zkS4OVKg/OdOUfIfjidfOjDgGGnByA+Gj\n4b5Lgzbh+Pj1b8ZjEoi/U2V3m7ENmyJXfBkB591aKvCQ/u61ptMbGmobG0hn\nRFKV\r\n=BBoN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"scripts":{"clean":"rm -rf dist","compile":"tsc","prepare":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"5.7.1","directories":{},"_nodeVersion":"8.9.4","dependencies":{"apollo-datasource":"file:../apollo-datasource","apollo-server-env":"file:../apollo-server-env","apollo-server-errors":"file:../apollo-server-errors","http-cache-semantics":"^4.0.0","apollo-server-caching":"file:../apollo-server-caching"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.1.2_1534269939567_0.34927111194904703","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"apollo-datasource-rest","version":"0.1.3","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.1.3","maintainers":[{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"},{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"d0a306111ed7e3ee52eea6fa3f3e0e3b12933ab0","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.1.3.tgz","fileCount":20,"integrity":"sha512-XhPlaOCTkOVNWObxSpnH4nzt+HtTmovlyR0FUVObZ9dkTq3+enO22OQAa4IPVVT+DG091suBhWk4C7p8K/2cpQ==","signatures":[{"sig":"MEQCIGR8RDdfp7+W6ars8zdcYTEJ4/b/ekKfLgbnMG+sw5SJAiAcWF1iRdGpX7tt+cfcwldcmd4tyY40R/ve541styOkdQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74065,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbcyR4CRA9TVsSAnZWagAASRUP/Atl/uLIblRT6Z5hsmDI\nYnENIYfogiNsHYb/N/YoMJaqHYtac+PuQpx0dPduaP4Y1lKbEU4YC5rNX5uf\ncZmN5kK+pG+pyYSH2wDstUXoSsyGByVRYBSCdkTDk7qX5aMzGsfN+cTDPCYt\n4OjwGcHjeZPQkOtInK+ACcyDCyrdXRsAdkbgvWrL2gQQaUayGzcLxxxfaa9c\nZi57KdYWA2hhQi8Vg0rE70VvTCSHtyJrVtP4XlmT2jZOkTgBc/YPJMlxKwZy\nRopEO7anpj61mrzB7FzE3sjBOBftx7kMjaivUJ6oO0MdKAaQfQ1i5MREPCvG\nEz9BqVIOqIbiHqezo/SkF93SDrccxcXZ7P1dGXLdLp+JyJ7ILBtt4cUC0Ul8\nYM8SwBaHlBGLxnkfJBqs4fQJhAOWp152H8eMzi6E0D18IEWfYEOR2FkkLPfc\no6fLwO0lWezzNlQ3d/F8n3WyIILVDaacYdYHTHkvW9P5BaBOs+W7b4L9zOAh\nOmWwfw0oYx8RRhPxlXn8RLwiGo8w+jOxbigsRDuHfufJlx5ElqVz/u4XnYcC\nq8M/pGEBjAptQqq+xlo81IADc4z+0aW9f661exv9uraYo+YfQCqR38eTcgGk\nfN5bgxax6PI5eWHwT8wg4zUUcINKTm+zNjAyGuETLliUkWHp0sATKwE6ayIS\nSsOL\r\n=EEV+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:apollo-datasource-rest-0.1.3.tgz","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"f7b5d63d038384409fd4d664a3bcce04c721bc6d","scripts":{"clean":"rm -rf dist","compile":"tsc","prepare":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"_resolved":"","_integrity":"","deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.1.0","directories":{},"_nodeVersion":"10.5.0","dependencies":{"apollo-datasource":"0.1.2","apollo-server-env":"2.0.2","apollo-server-errors":"2.0.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.1.3_1534272632105_0.5977003786530382","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"apollo-datasource-rest","version":"0.1.4","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.1.4","maintainers":[{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"},{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"b3ab6de27ab4d5568461f1dad345a376aebd0798","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.1.4.tgz","fileCount":20,"integrity":"sha512-0n51t8gzIoH28FMn36Wi3XVpd0Awgv8Dl9x3C0vujmtPO16ND4OhV084arHOHE1xPlhHieCsBU0cRZbBqd9q1Q==","signatures":[{"sig":"MEUCIQDgB3ygDHjxBfjnxNu8Qk2YOcgoS+i+5Q8LOhYf4jlVGwIgef/hdUGPjQuPIg1yI/yB47vi9ZMm1agaI0clq7qVtzg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbc6QgCRA9TVsSAnZWagAAkBQP/14mdRLDrjW+yfMysYsY\no/u1VUfEMfJYyvVjxhp7JuaL6VIGzVqpKcOLgEKhtxBgdNi9wkXf/iRzfoZc\nRxDmKWc8Oqb/oekDqkUWURgF3gRtbWZm11aTogX9f1eCeL2rb/FYh6TNQQar\nKZNSmFwLSPONxDz71zkNp41rptPAfxXuAjpjvhGqMmbuKOFgvXUAjNvZr68z\nRXoGmk91gRI99Emv0/ROajMiEggqoSytcFExMcmyEFEmk2BEtUhCBikReLZI\namym3LbcQJovqiknqfHUm89pZRyKZbbA8zjHw7l+fVZdY+60VfkK255Xe8jB\n7ccj3VPXN6AUxFqTxaeD8zxk2C1V+sSzdt8F6m+k7pZ5rEgQAv7R4hSgMpKG\nREDY5PI9nuhpohlmaWLCinlcoezC9/BOBY4jYhUvjQZH4Iox/U2shHCeFcbo\nMpsfRjEVEEg5C3Xs57KLX6ExMN84eVg+tcjuLVBKFWBkd2iENHFfx9Di8INl\nSLPg7KFuAcq5/r6kh8iHFi0UH0vd2F1NfukXF9jE3nGHVR9URkWQWYUCOFOs\nyA4DituOTeT4BCoI+GO3/sHalVWxByAUwtvYjBE87i/WsTWKhGbyUlMbUM43\nmUUbUqqR2SrOu5ecmtW3QdUBAP9Nolwu6qRhlDA6ie+jP8kLycSeMIxrIROF\nIsZE\r\n=kKK1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:apollo-datasource-rest-0.1.4.tgz","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"a88574d731d5fb84f0baaf2484ff596361e0ff3c","scripts":{"clean":"rm -rf dist","compile":"tsc","prepare":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"_resolved":"","_integrity":"","deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.3.0","directories":{},"_nodeVersion":"8.11.2","dependencies":{"apollo-datasource":"0.1.2","apollo-server-env":"2.0.2","apollo-server-errors":"2.0.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.1.4_1534305312274_0.5604460382948688","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"apollo-datasource-rest","version":"0.1.5","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.1.5","maintainers":[{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"},{"name":"mdg","email":"npm@meteor.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"a2011637e3d23d9861f5da6764e3147bbb2b151e","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.1.5.tgz","fileCount":20,"integrity":"sha512-sKDzsPCfDlLXxrgQtrxnvyMLbpRRfxcNiWJFeSdYR9in2zY37KUHgmyQOum7NylCikdkrhxzj51ny1YGWrOLrA==","signatures":[{"sig":"MEQCIB3knBQTJh2qv9KwsQql0iCdgjucXqfUDGmJ8I4aqQ1nAiAT5ZHRwErYXrkqrR2YvpqYgLK3W1/wSkV2+SWtENlyIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75028,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjTIICRA9TVsSAnZWagAAExMP/RSK+LDEJ/EPdW8p/QkU\nfQuinz6SiYZX9N0AJm0jiVLLo7oLgc+FBkKRo8FwuUOOPpaTjIiDIIjpMpsC\nb36xCobEt9MkyAbRLGYAx7ksr6OINZinjYhMastQXc0ckIn9YMvw4XXIfpQB\n8cNFmSwKsU8iCtoXBxNx7wT4foHhwi6lnE1h6FceAHTyHFJQlcvFUmEvJw0u\nHz4hVLQhBMyhON0vpl7/Ie1o9wDlQ0DA6C0QQbJ1SJA31XJoKAg8jo6I8Uzz\nwdWZMcv0KUpLQhChiFlm9xXDNQskj9SdLI1/ZUfwPD2l0NhUsk2LLYhQpEnE\n+Z6x+NyMT5o8yvJQ18Og27B6zvt6piSx/6guLJJesQsDgvR8rL7KhP90cb98\nxUc3xAXEzzVaYgKYba11GD+B8da/f2N52vxU3QPNsoXXyTM7fcqrLrJoekYl\nyw2wXoO3OFTvvglYwMriS+9L4wp/MslL+bMOl1Wfv11P7Z8VCwQKMwMwTh3p\nQGCWBy+eywQtRiYFHA3Qp4bXyXMXSF6sMxPx/53z2bHCagkB7VHDKts5AP1N\nt9G1jx79YA/icG5FA2AZczXkAqi3Ri+US4LVkf2MZuoT6OIraEH52Pg3SuP3\n0xCj5EtWt8wxoECO54+x0GUqQQvdyqsM4bJ2fBiCfbO1alyOrQT2zrbj7fMu\nb82a\r\n=jXta\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:apollo-datasource-rest-0.1.5.tgz","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"b80a8f050c8d473ae6804cd3be6430308a66eb43","scripts":{"clean":"rm -rf dist","compile":"tsc","prepare":"npm run clean && npm run compile"},"_npmUser":{"name":"mdg","email":"npm@meteor.com"},"_resolved":"","_integrity":"","deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.4.1","directories":{},"_nodeVersion":"8.11.4","dependencies":{"apollo-datasource":"0.1.3","apollo-server-env":"2.0.3","apollo-server-errors":"2.0.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.1.5_1535980039784_0.3238333435258438","host":"s3://npm-registry-packages"}},"0.2.0-register.2195":{"name":"apollo-datasource-rest","version":"0.2.0-register.2195","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.2.0-register.2195","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"179a0869340976da4f3adeb7acfc0f21d37b9f50","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.2.0-register.2195.tgz","fileCount":20,"integrity":"sha512-9Q1uCncfLxdNAuSYCtuBP+3xNV+B/yv7kW1HSJqF/N6MlAQOF/MN7Pvsl0wptH5QT3y0PKxNKxzGy2s8DhXbWg==","signatures":[{"sig":"MEQCIHEuYPRSxApJ8D/rST9wFIlmzttV/0Gsr82clfbwkNt1AiB5V3+p1vAXRZJj17WEUEr8JcMDAw1xE6KOFOMA+G5Fdg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75018,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvAlUCRA9TVsSAnZWagAAx1cP/2NZ5p08WnPzouVyqn3h\nP8R3NbUBmkeviRPyXj8AbhZziQU18/rGG6FUxrTxvtLLFBiF224YbayKFizG\nw8S94q5jhvOq5znNPv87VxuxcO+x8tTUcWGMkq4oEB/Rzb+VZ/qphQOf4kz0\nBRk0hGesdjmOYL4QZ7xa+aibbuaWrCYuJLpnFotiu7nqOwMRXHhA8LMQsLOn\n4NsbjneGhh7R1HbyQbMcS2CYffpOPGE6Ykkzx1RZlQqWL15/yZdB4x+n2t21\nAu0LyhD3pO0v9Ym+y7es0BMOE0BrpT0S4RltnOuNlHjFpn5j9GhaLmUQ7nRz\n7r4lOHRFlqRsBTSDYOjdWHPHo0p9QwLuAnPldk76ZXo5LA0960SjZ5Z8dZ1v\noXsHF8DiwH0psMS9yspGKlbNthuDCcI/nWCwG98kSzROxMZY9M2T4fQ+9nEx\nQ9aRZbuuuKt8/cwHCiSrMQAdlUKzUMVq1EwKc7pIH0ZrMTIm8qRbOqf/tIcM\n2fMFeUa3fLUfHCsfdOwQzcl/fIOrqmtQtDa09D2UgYoG2+VJJzlhSksfREdV\nrV3GKq4kgrt3VMbvpYHjNUjRxhgAWx7gQyIeru35QRJT+E4bszyL0WWpOJ10\nSZkaSBH53skJdHgmvwe3kehVsVK54meDm0POS7zPED9+eRtDHtsF2OhQjZAq\nPB+5\r\n=cB/Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:apollo-datasource-rest-0.2.0-register.2195.tgz","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"e44b5bd3c8b602f549ae52c4cb9d9c7e2488a5c1","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"_resolved":"","_integrity":"","deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.4.1","directories":{},"_nodeVersion":"10.5.0","dependencies":{"apollo-datasource":"0.2.0-register.2195+e44b5bd","apollo-server-env":"2.1.0-register.2195+e44b5bd","apollo-server-errors":"2.1.0-register.2195+e44b5bd","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.2.0-register.2195+e44b5bd"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.2.0-register.2195_1539049811747_0.33895019815262417","host":"s3://npm-registry-packages"}},"0.2.0-alpha.0":{"name":"apollo-datasource-rest","version":"0.2.0-alpha.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.2.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"a67b25bea4ba5f057ecef8a253d2b460c29a8d66","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.2.0-alpha.0.tgz","fileCount":20,"integrity":"sha512-/xyxjzbcblgUzcBVb5+5h07VMeEhO8vEGyOkTZpB2mcwthAZXC1pCpbulKg2qHqxwBY1TlW+oFo7XQF1toYOXg==","signatures":[{"sig":"MEUCICGeikcXu7Gk5MCIxNA73vEoeaCzyFUV06yh7Fke0HoXAiEAiXE1aYBpoA+wqlRPuRvzAdhJEWkJjZX4uPDQ3pEtv3o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvlOgCRA9TVsSAnZWagAAhj4QAInJNpeS6eBq7onzkDse\nOSIZW1w6YHf0bbJBCBN9K3jfcaNMmhaelYIwUers4I7MpqTO/H/rkrM3ZURr\n/me4ODLQEX1d5pj1VSFi41D+pswtH/nbn6x6rJyzOHC5TSy1R1XdGc3UFNdE\ny1eNkfoxFfO9Ql4zhWMAkykcbR4YlpeRZtkpNMwZr6H+MTFVfSjemHQFc7b5\nR2tsZqy/XJuPR+9SlVUqXIx9T9rsW1VblgV6ToUI1yDvJnRoau8eeqQW9gEP\ncnVUrkmhKHxx0eLVCEewiUlXNdUZa+boV3PR39VdVLnX2nfhA0qHHFKhVv4K\n6/ePBNHKAc5+MfRZg5JDpDHx65ezijtt7ey7ffP/Y2Fa+lhDW2EQT7AiK8US\n46y6EIjfDQR6AJx1tA6bFaYEiqSCZmDnUzUEl1mk1SMl21MbPM+gAQ04ON6o\n3V8KQTspEZfmWXqC8NGg72vl1lUZL9TCakO3aGTi+ExzB1fKOQrcugv9Ntvk\niOFuP306EDNAvT6bgg1JoGF/j5VoiPfy/UMIslY8JUg5LezeY0jabCSfN1Zy\nCg8mor8kzo8fU62/xgJArqLzLIrEzC73nke6HSylKcaKTzOcxlo7jIkpTZXu\njBwZ3/i6wl4LeAU2ZBBuJMZNibWour6ru+sb/dRiCsF8WGZ9cxdmLa+DeEe5\nnkWV\r\n=PfH2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:apollo-datasource-rest-0.2.0-alpha.0.tgz","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"dec2b94a0e309c1c75b3e9f3d7b4011e36a7e48a","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"_resolved":"","_integrity":"","deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.4.1","directories":{},"_nodeVersion":"8.12.0","dependencies":{"apollo-datasource":"0.2.0-alpha.0","apollo-server-env":"2.1.0-alpha.0","apollo-server-errors":"2.1.0-alpha.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.2.0-alpha.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.2.0-alpha.0_1539199904025_0.6682653524667774","host":"s3://npm-registry-packages"}},"0.2.0-alpha.1":{"name":"apollo-datasource-rest","version":"0.2.0-alpha.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.2.0-alpha.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"e5da6c022503634cde1f5ad7bd57c243dd0413fa","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.2.0-alpha.1.tgz","fileCount":21,"integrity":"sha512-fAv2SnBHj6yGiASp7zRZnvbJwa6U5TS8g8oOMBmM6iwhAqYCgKFr2ncxggC7m6wYgTOw4LwtPoV/GHeiI5p9lA==","signatures":[{"sig":"MEUCIQDvJEn3K5gy+Ego6hHWSrrXE1edrtNNgjLIcoFs7und8gIgVQE8ro+WCA6u4QcZetmsodLFf4YTLXtium0iP5bHVAI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb01z5CRA9TVsSAnZWagAA5esP/j7svtjZAm9rFAhNX5ve\n1v0COGRlDdAYi9L6ODjuIX/p2X+GkW/ca7nSuhBUJ+3h0ZWGKH8AMskaaDU0\nrksyGZ0HKJXXuIWGWihjYCPfJI1y94Z0DsmfAPTx8pD0LDkWvY+rID0TZPQt\n5mxK8BC+sC3mHUpHZ/H6vAjatgyudkzEioyV74VpuT4Ef2ilIyAUFFt8acAw\nrsPp8uK0GQEnx6EtC89ru89S5MKqfF5kBdlx+TQGekYZqCaos0FzSyPdyZZq\nleKh7xteGv+uLjt5FxLtPahsp16HYoVLxwn0b5b5uAVzmJyCdw5kfmmAhoUB\niFKRHzInlHFOhd47pRAz/kLbxsCmkm23qNWYnSmDv2dx467a3fGW3+tNSq+s\ntoc6jLJtDFy3oB/crZ1SnT1QCUZ4BOknUiYtJMVeCogeO2VXLEwioaR7+2w6\n0TrMoRi6lmJP95scgZulQ/BmKVXxhopy4hUCojifiMYizgJ4i2AJcHHcMGeV\nOfrVdcrXy1JYB1rSlxBtLNxpLqkVxMfhPImb9r38OeMGF4AhfFL739gpRLfO\nVi9ERBf4jZUSLSvpO0Pw+Vg5nV2QcLcwzF9Mp1P0Z7gc8gegZAyLr6hPTe5c\nHY2q2tRs4qvL9E4Jq+bCb4U2adBQIDB7jn7ESflIhaO2H4oSz3nKL2JoWqXl\nw6wT\r\n=kM/X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:apollo-datasource-rest-0.2.0-alpha.1.tgz","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"5b8388323325c14970601310d7864b86010cbebe","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"_resolved":"","_integrity":"","deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.4.1","directories":{},"_nodeVersion":"8.12.0","dependencies":{"apollo-datasource":"0.2.0-alpha.1","apollo-server-env":"2.1.0-alpha.1","apollo-server-errors":"2.1.0-alpha.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.2.0-alpha.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.2.0-alpha.1_1540578553040_0.10720222602085072","host":"s3://npm-registry-packages"}},"0.2.0-alpha.2":{"name":"apollo-datasource-rest","version":"0.2.0-alpha.2","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.2.0-alpha.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"c3c5c0e5ea90683960f56025c25630198564157e","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.2.0-alpha.2.tgz","fileCount":21,"integrity":"sha512-WvSbbrpOfvT7Avi78MukVKc7dOMN+KvsS31tNWURTm0PqwybZAadZc1rWJUxTpVzD8nz0GOiZ8ygJwHOFu1q3Q==","signatures":[{"sig":"MEYCIQDWqNwVpehrFAVT27iPP5G13TaxkX+Twp4jiOzUSpSqJQIhAPNZrHgnkZNU3TvmnrHcFdxBMo/ebiR8zFGP3k4CKOkW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4J4eCRA9TVsSAnZWagAAsmAP+wdP05+CgynWhWNdH2o1\nCAM6PLxobQah6du8qvrM90PPAtKrm0sDHARH1CIBEOOV4hDO5kF2XWRzeu4V\naw3kT02eE+J0FsETZ2TzcZs5m9lULI0Z3LzDBmJqsnGIMDwXHrDArt9NGlfs\nD5ZAWfGxJr5iDgP9c1SJfFC54UcfaUkrlzNXqCEOkxNqMOptVuyzj5akFX7k\nzV+fBc3o8iV/jSp9NdbybnG06rk9NcuDtEZC93XLbms/0FvJqN1XPV+MWeHl\nFSLT4QTCzfLoeetIhqDyLYOdDyy+g/GHuzGDkNkstOr6kB87mq/e5AuduoxP\nBIr0uPhiH36Lqk/EONd9DBU1XY+IIU3xKvyyzyVYkMWi3cMGdD4JjQQQCOC0\n1fVFoEsexfKRq5uoOEUNCz5zTbvtVdIMGs9psFkotYK4rRi4YLYplT7s2OoT\n6atSesvNdr9cAb6db3nE4pdfQGX/feO6CoFOfgQ4RCI3BEUBU4Hx9C6xinHw\nPXaqJKPQzJaqAufTicOQEtKC1hV6YnO9ddyl3m2iz/CG89dz/riSMQu67IwL\nP6sFN9AnI+rmSlSbQQIqZE9n2WdhaTLlnC1yBZ89+VrM3K3R6XlhFSWrGRX+\nefEHnZ+b1I7gnmbkgSlKVy6Ei5k3UFzCisjLXs/QZMJra+6CONpC24l8r//O\n9ncJ\r\n=GSfA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:apollo-datasource-rest-0.2.0-alpha.2.tgz","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"a6872c2f6ca2db03e9f237510b3fc6802d390785","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"_resolved":"","_integrity":"","deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.4.1","directories":{},"_nodeVersion":"8.12.0","dependencies":{"apollo-datasource":"0.2.0-alpha.2","apollo-server-env":"2.1.0-alpha.1","apollo-server-errors":"2.1.0-alpha.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.2.0-alpha.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.2.0-alpha.2_1541447197719_0.4082555917776449","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"apollo-datasource-rest","version":"0.2.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.2.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"96acf17d41a8c1db8a35d5248564bb6ff89e264c","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.2.0.tgz","fileCount":21,"integrity":"sha512-bnRp1CrrV4hOpjJtFjXRAb0Cmy/z1FjakS39pcxOOn0RDBBXtS8VreoiDzeJKKL6lHoBFUFVABHj/+Cq3j+RyA==","signatures":[{"sig":"MEYCIQDoamCU1ouNYmGCCrBlSb0VB+n3mDxvzY3BH7PfqxcF3gIhAN3j0RThUovLOb3EbNzDTzDOmXix02UMU1nCztw5Wxut","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4xA+CRA9TVsSAnZWagAAleMP/0aPqwSzE6AbmcR3K+Hu\nFvUWqZgnwHhQckccVy47kSsjlnXm4cU2LpvIfmvXLMb1I3l5Gx518UD3oLfR\nBlNgt08Exn8yUTRRiu7WB7i0kw2JGSuqnvKEuU5DJFwP8dwQCrupJmhWl/XA\nuJZ7X0pqRWAlSU+U4OUdX+ZD2AF+wcFaV/habEG7A1kYs8IBNsduiyWQujuo\nvqAB0P267JktH/+cGVr3VA0Nq0EHNvyzu5jqpvzqwaedRAbAXSf53Zw64knV\nFUqqu+3To3h7ElD/Le8w0PRoH+RDL9WQ8Am3X07PMAL/xS9imKvloJserBb2\nYbBgQU0AuM3zf+328yN7UWyfORUwTWTyGfmYhrzQMFm+ARXOVXv0hrEUhivZ\nx6yJFJyyzwXS0a/zZyPGo4SpxV73tfk1vH6mqwKdmAeHAKi/6Riz9et9Qt8z\nL4HuvZsoCMv/boORW13S0wtjDYhdHTIuQyHWzr1tYFyRTqYNsmFdZs+168v3\nyhRxwOBoyjFcE6cqMAmESZzsDL3Wq4Lk9d8qSaRwpA+4y3fAnL2Z5mvxtYiN\n3Xgkbtf1ym3KdxrBk9h9wbloYLXPX9/bKwuad0jTAh0bwSlDcjCMdAYZeDqy\nZP/F4HRj7KXZVelj+XWFv7dy5QskmtkuEDCj0EXm9YY2H/spo46whW0Z+Wx+\nWYFF\r\n=fa/c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:apollo-datasource-rest-0.2.0.tgz","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"6bd73b175ff628a5e9858e2a5da1aa9dab5ed348","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"_resolved":"","_integrity":"","deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.4.1","directories":{},"_nodeVersion":"10.12.0","dependencies":{"apollo-datasource":"0.2.0","apollo-server-env":"2.2.0","apollo-server-errors":"2.2.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.2.0_1541607485947_0.46049823777979015","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"apollo-datasource-rest","version":"0.2.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.2.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"3960b85675ed29c67598f82285155c114fa67f03","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.2.1.tgz","fileCount":21,"integrity":"sha512-G5r8sgG/g61koWbD2LllVL6mESoY9YkbeW5+HjfwqYA0yobjrGDhBos0Zy34DNGQSaragdnbYUjI8I2HuULQwQ==","signatures":[{"sig":"MEUCIQCFoOfvcj7R7q1rXc/VNmTLCBKDr4ipgFdz7h7gwtT7hgIgJY4x0H1bLA8289ajlPRweN3bm22pTPXmePCBaOf1Xvs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/EJtCRA9TVsSAnZWagAATI0P/3TDe/HBxMx59I4UJv6W\nHv8rsmXUU9fZGbyQarltlmXUscUNq2ZbN8WQH8Ix9gHdqAWuOpfSloBr9+mH\nV+hHO4llYenIAKYX/h4aVxB09D2uMhnaYVuFZI+Pyzpf0p+KtVbCBQncqvVm\nGtUY8u7/bhA+Ccs199veBDo3rwAkQkIkuNd4odIplziwTUCenJgNcZuTd+xM\nEJSBqnajXEqubwXZSFEdWgjEdtzmTpD4PWqUpSCp+Bx9VznMPfGAOP0ksh+X\nOSxOv3xif4+HN4O1Kb9hPnEgbLCePkFqlIi/0aWGlXGuYX/aJCmdBWKIwNYS\nDE6Jtx903G1WkTm29ejPOiNaxCVOLEqReJzzU4YmIRyUyb7Ywv3qSIEGKzuC\nIt4e2DOLmrXWgklsDFrI/xfiDHteLjEkXJav2i0eUTCaycc1yixEW6xZnegd\nl1f4Q8BRSw1w0i7Pc0ddfV/kUgIM6IqEmad2KewAuBuG7ZBAdBB939qJegIK\nhy9veBcJT2XuTpPEOTib/whD1v9i71hzyBE0yp9jnwVRq9zQZ9zfQS0JORc0\nsDw52IpgH/Ls0SI+BjwvKVIGps9YcQ2OhiFoO6wce40GtAVuCAKZAE+vbzAU\n+DYKTGq90zg6de3kHsHiInjcHaFR1ZcfnqNzR0IreWDASP88LHJAWkWVNQVG\nWFfw\r\n=eevE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:apollo-datasource-rest-0.2.1.tgz","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"1f3801c94967941f539e4bf925c92134b56478e7","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"_resolved":"","_integrity":"","deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.4.1","directories":{},"_nodeVersion":"8.12.0","dependencies":{"apollo-datasource":"0.2.1","apollo-server-env":"2.2.0","apollo-server-errors":"2.2.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.2.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.2.1_1543258732539_0.7892123480203108","host":"s3://npm-registry-packages"}},"0.3.0-alpha.0":{"name":"apollo-datasource-rest","version":"0.3.0-alpha.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.3.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"372fc9259c1e004bcbf07ed03e8cb9e958ec1e02","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.3.0-alpha.0.tgz","fileCount":21,"integrity":"sha512-Mg/xO3ME6JuiwQdtz0McEwfHxDAWSrI4B1GgASuSb2R9LSdR+GeH8XxjOXixukhVZtolrbu18HClkr8pbWSE5A==","signatures":[{"sig":"MEYCIQCoK3kGnUAhmDrO+jSqMxUUgHeI939cFx+7KkM1HPbzPgIhAOlLxdiuJcvLToCijXNb/02LnWn061yFAyG4g1MNZ9Qj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75759,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGQ7XCRA9TVsSAnZWagAABHgP/1XAqMAfwTBn6cH0dyW3\ntGCag38RslVITsgwHLAr49iu4s07pSoikBZ7iqWxkQsS9VK8LOsHHn/QIRxl\nkOUo/JXp7xaVOZlMPbs3B9mRkbJxch+ZuVBfkwvsr0l7JRJaSwihrBs75EA4\nKiAZHr5hj7N902DkcZ9v4eXfnijGyAQdLqtJ+ngtaupDvkwlzY1fVKeSgk6y\nIB6DMilscJ9LFPOaS7QCErm7bLmEFISDF2TsO0y073V6nriAfj+7rtcbh6LW\nMlv/Vp0jOiI495g31A45et12j30dmBLA6Q8jaz+3W3PgYE5G9BO+S500yrrn\nF8M4rP4H3aBZuofT1jTAy72gbbixogUGIEAKdMUVEI92CC5/6CXgXHuBlAAr\nClagXAUF/Awl+RybAwX60+aCqSltRKZMsuwGs8O9Vaa8o5L3OuCHU8FAMYJN\n+AFuzY8y5QgkEQzqEa2it4ESoxP8ICCbeiKC8lgT7qnL4janRqfQuBA4Z1D0\n5Ii5NhI47GJIjwRNDIFLAjemVeBu5yhlGObvaqeVVyZ5fgyroL1P2yYnZzNR\nS+ccyD1cY7IaPJo8S0Ygs7eM6Mev9tKzvyKz1I/Ihjh4Nri+I+hxOFf5WP08\n18eU4cN5VrbL3qctLaHHUxiV7KRFtQ6oogOV+vFUnduHWzu3U1TgBnRUyTpF\nf0a8\r\n=4T9c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:apollo-datasource-rest-0.3.0-alpha.0.tgz","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"7697623789a0c07cc65b496657d3e85bd96e1408","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"_resolved":"","_integrity":"","deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"6.4.1","directories":{},"_nodeVersion":"8.12.0","dependencies":{"apollo-datasource":"0.3.0-alpha.0","apollo-server-env":"2.2.0","apollo-server-errors":"2.2.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.3.0-alpha.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.3.0-alpha.0_1545146071143_0.7758940851523","host":"s3://npm-registry-packages"}},"0.3.0-alpha.1":{"name":"apollo-datasource-rest","version":"0.3.0-alpha.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.3.0-alpha.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"c8d3db449fb56a10976e18fc451ff52917131d94","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.3.0-alpha.1.tgz","fileCount":21,"integrity":"sha512-r8DpHhyEPlS7vQtcFyR+FY+OawUae3pQi2fvWDLvwO+69YAuiq0ovBt38gwcT31ev/Q3g4p/2m+CsZ9DDUDMBg==","signatures":[{"sig":"MEUCIQC+2QJQwufzvQsPWInuGErtGjq/GVORrK9JZGx+VtrykQIgUkdBwn+4aQLYdeeQrmbclnJ87w94RZVZtdD9izxUyZU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75759,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPxF2CRA9TVsSAnZWagAAYq0P/1rKgfNbGDvUSjgLa+N/\nbbfOfjh7zU7YXVn0KWrkbzUnGNeJUYL7ErgwgAdE+8GNYxLrWWidvs8r/S3m\n54FAHxixVCyA+XaN0By1MJxboHI85SgBod4vvz1U1J76kHr9EoyfCzK14f8y\nTwECAGsB3NLw8RMMkD0VHHU7dcaS4Mnz98IQtyN6Z/jazPET+eh64Eek6an2\nhwMyuMHvPaEnS+xj7xDiLUeb5LUI8rsFwQO9Q5q0nA5E7Ys4kHkulV4hy+7p\nZFADfYL5DZScMbSpc83Ee+DUqrvoKgdwY/SoVCTmVMYMVvSlV6nK0Wxx7PnM\ndUGlksas6f8GCXagObxcBS9RKTlEGZaWX7BOKcBTj7Qkta7FzBZwO0ld67eN\nGyhh53jw8ik/ruIIYAvYyp++UszMbbSDhNLD1R93nGLTPvowTau5HNxsT9c7\nhizp9zTnkrE6IDwqT1sUwb8RNtcjZ88brJvv+hJgZrP8wIu4x8r7WHs91Epb\nVMBkBVQ1onfarbzSrSBeYcRjzktZ/7S9p6hqQLe5fIW48mKpNCQKWI9seLrh\nw3wP6xFRDGxTtwPnWgLx6qbxoB/jatI9e5K/RcYq5+hAqE5JVHe/A95LxvaJ\n6A5UuX/oXEz4XWc0HqGvPUPi0VQHPlREvJt4F7ukOXfj0aqvuvNpAKP3cpee\nflc+\r\n=4yYY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"33d1f828141826f4d874aa783fa302e381101ab5","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.10.5/node@v8.12.0+x64 (darwin)","directories":{},"_nodeVersion":"8.12.0","dependencies":{"apollo-datasource":"0.3.0-alpha.1","apollo-server-env":"2.2.0","apollo-server-errors":"2.2.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.3.0-alpha.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.3.0-alpha.1_1547637109277_0.20941349005471488","host":"s3://npm-registry-packages"}},"0.3.0-alpha.2":{"name":"apollo-datasource-rest","version":"0.3.0-alpha.2","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.3.0-alpha.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"0077b8e91713f5d0c3ce4e8cf98de265dc760235","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.3.0-alpha.2.tgz","fileCount":21,"integrity":"sha512-hacYDbkZiZk20uxhIr4fup3fJIkxlGQ/KU47n9zw5NjmJ77an/Qhy8AaZa8iz+AZVNjXMBExTPlNPyU6ldgUzg==","signatures":[{"sig":"MEUCICI/1Ma1p2O5V7lgrQfuAwmnKFZI9HMmajIYTkbig0/zAiEAyXwJ1hmMtsiIJy9dxjdY+TJRXVI1OA3a42vbB1oiHyU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75759,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSHMyCRA9TVsSAnZWagAAPfEP/iObaOp8500SJyNOULaO\nBlP0VTK86HGPbQRg7fN9VBHCeZRv9+pro8k1PyoeVGgt+Oy1VXh6W7LQXKYq\noBSorQAix4QKLb7la3h1lqP3Lj4/4MUNgRn2660v+Tjkf+gr47Zk9lQfIkiE\nbvbcQgNLJS+ppdHo1RPpYfdzAwnBu0y8CU+8JpIVnGt8jUXK1gZNUd4fHPtv\nTwU6XizO+dM38Sg+jXPzH+9EvdJkhbE/d8ayWFqT0dALEYwXQGd/nQ0VS7pg\nX81NGQaTKfOoXjSg6dyxpHc1EdAacvCpWLXJBF+YOmbn9MeKKKmIy4vPXtA9\nF1aWXEGhWVxc3aPngUuiK6jL53HfbXSz4ih0qGBT5TUeeX4oisjfIvQJ37LM\nnlmgTUDyKFJkCUS383SvGLIjPdebplNBZDhYh/U9eEHzkKq8ffUYTzZJx1K9\nUCJ6eqlGIp/xSDeSCaOuwfbp3IsWdK3lUzZvJ3MQu1Kv8UW21+qzZgP3Ypth\nUv/2VFVA8w0g+KLWbt9ntLFlTYHTwDJGPggwVQAcUOQUeCCC5olIsAIeLadj\nF+ufEsQYuYPAsMr74+pIIcBWwXSob+ALfZUp0q1fAiCZfI9aMIqp+6WRj17Q\nmX0FK2HCJY1YnvxBYVCa1C/BD/2a0P50pU5kviNL5ifw1Aa+ctBBEII39W8x\n9UGc\r\n=+0L/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"f045a4d0c94faa61433a933edd34e274319f8f32","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.10.6/node@v8.15.0+x64 (darwin)","directories":{},"_nodeVersion":"8.15.0","dependencies":{"apollo-datasource":"0.3.0-alpha.2","apollo-server-env":"2.2.0","apollo-server-errors":"2.2.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.3.0-alpha.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.3.0-alpha.2_1548251953689_0.9785547314227347","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"apollo-datasource-rest","version":"0.2.2","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.2.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"6a8cb61e6616643ed960f8e024c2f733c7170982","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.2.2.tgz","fileCount":21,"integrity":"sha512-/oInYt0R/h0kMt8azRbRcQey2VuxFbvTXNAQVWuQtVgTog+S1babWie3EITJYf2s/TiflnusgvaTCCrz+M7gUA==","signatures":[{"sig":"MEYCIQCxTBtg30OwMxUz3kQYHueTDu2aZK7kBjokAtB2Utb1BQIhAIs8//91+exgDhjHRMaAXvxrlDJCr8cN14/WoScHEJTL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSz3uCRA9TVsSAnZWagAAStcP/i9P2bz9qU/Ocw7zNVMq\ntorgzDTDUwkF3lzvg1gZjzhwlLux5xqBTEI1bpBEef6WnrwMdo67LnGrpWNT\nXUQpdv8xNu7qq9iaG6M0FCitUTIRPxocr6/dkOfkR2uwMAcRdQV7/XzdpD3D\nq4fYi+7DvCa8ca4+yBtg1hcedyXaF3ZOTvEZ1mRyMBkfn7CDL0UW+J0PNpuV\n3QXsJoo9ulr/uTAw9RntZiWQgjYEshiqJ+BbfN0Ckw6G8fTA2zxW8304rs5E\nF7ydxE92HmFuZt3cf/l21+sfL8KlvgYyNRoeW/kg4QkUQEiIsjhCiNG+OY0f\ncvaGsZidVrt/GSSPn5Wmd7HJ5UeCmCGiN3NZ7EDYOMksAwRyw6ztinnILV7q\ntje1trnqS56y95nu/IiG1OxIQvQ1pQUzadskziAxmi39kUP+uMEB/Tqx07EO\nD0S6sANWPlnddlHDaOQ+I3oUmDRoqiiti0S61iQAdx8TnWyLBSinTV6x2MCq\n9vJ4I9b79nsCyJq+P8QhIeeeAT5YW9aWBP0iKwYNYezDBGMSaI4Y9/P00LY6\nL2J7L/+ohoaYDMfsXEf9V97mE8fsa4Gy4zYBR02FhQE8rWnTqIDV1y5httIa\nWZ+uXLTId3ApvpbCWE+pnktn7DTA5lfN7BglHuhaq978KweWsqjixY5VgdWu\nzi7P\r\n=wyeM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"d48d0972c5730ea63969daa892f58a34aa1db543","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.10.7/node@v8.15.0+x64 (darwin)","directories":{},"_nodeVersion":"8.15.0","dependencies":{"apollo-datasource":"0.2.2","apollo-server-env":"2.2.0","apollo-server-errors":"2.2.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.2.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.2.2_1548434925693_0.014677407728517","host":"s3://npm-registry-packages"}},"0.3.0-alpha.3":{"name":"apollo-datasource-rest","version":"0.3.0-alpha.3","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.3.0-alpha.3","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"5af0af7f6c72d3493bc0b71559bbd1d187848e44","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.3.0-alpha.3.tgz","fileCount":21,"integrity":"sha512-3rYiApkfuWsPAZzLpxvSLFVJ1CDfPkmkxLc4oqmepDMME7HHLsxyQveuuEREPLohRHwdB8robgK0t0ZRmqkkiA==","signatures":[{"sig":"MEUCIFKQxvAUGHd5bDz6WjxPMjwxJeoIlY53XiauiNLWFQ2hAiEA9hwt2Ku/3gP73rwxOnmUo6hgCvfzAdEthuDdnldS+Wc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXBADCRA9TVsSAnZWagAAAhEP/A+grj/sv6MOmueKHW9I\nV1Pjf0sw+UBJDsecPa9GV3+w6AjUqUvwq5B1RcYFwSANuzJTvdYVzWm7NiEi\n8pXoEbBk0Ow+9xKnMTirIyKSn88RyR+V8QcgTgyKm4CghJAYnw7ismwI2wvk\nLqiuCb9DcCqNcijRKdrb0WJ7wDShuXP4LHK/4TB3xBTjX4IcnSKgCFTTeNKE\nougj1PFKSMXfXg8m02/sxzdc6WvbXkr3IK9tgmVRmcphn9Po/1s9xyrJdAX+\nWwLlDJkuzoP0GZ8flANkHWTFViMZACltW/b2yUXBPl5XMaJWI9hN+UGiJXkd\ns6KTBI17RV69F76Lj2gj9Mmr68aVAAbrc+1h+FjGGTdJupFbX7Riuwtt3jN+\np9qBzuiOQTsFKDddJKaTNubdc8KzKrw6dRmdZO5jc7GDQjymrSLUjT3qhIdS\nIXtZbW7R9rKCK8SHiqJGd8oKitykeFD8GPwCAn7DU7syZKoFzCzgjUGK1w2c\nN6dlAW8Khpb4yZHOT7AyiNR8v0cESXEyutyE/D46aDmeR/eWiWVME5WsgBM1\nb/AogOW09EoFLYdAG0/SAbNw0Sgw4f+TbOODPKPHd3cy8id7KdoOVN/OEvjx\n4VzwYnKBf7eqLSWftPN+yzZOJKExwq7sKDGL5aEalHVL7EHW/pkYHSs3WWbW\nyYN4\r\n=LSoz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"f74610b290106f31308e36e507386ed2f352f3bf","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.10.8/node@v8.15.0+x64 (darwin)","directories":{},"_nodeVersion":"8.15.0","dependencies":{"apollo-datasource":"0.3.0-alpha.2","apollo-server-env":"2.2.0","apollo-server-errors":"2.2.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.3.0-alpha.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.3.0-alpha.3_1549537282708_0.7505149409949843","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"apollo-datasource-rest","version":"0.3.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.3.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"05057a40ff34363d5e4052768ae84eb7d2b271b1","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.3.0.tgz","fileCount":21,"integrity":"sha512-i4xwVTt+bUpwWy2Cw+yhjqpY4AAhCYNUpE0E95UfbDIMhba9ZdR5Kg9bqEnd7Zssr8X5yiOqpNooW8rFfqzDBw==","signatures":[{"sig":"MEQCIGWq6NnFqDdGZSPV1qhLs5iD2UTzBQNYvOKnXK2mD2nEAiBo5+vX3OJ+eU5r4//SnwDcBMA7lh/yFZaR77Mx6KiruA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXB/YCRA9TVsSAnZWagAAPgYP+wdDxwK9Tp2RMvE8NoaT\nr8UqdN9c8KEsxG9fhlWxhxWZtgekgZaN0yxq26hPJE0aooonIc0wixmaoNUY\nF/0hbOW+jBaAs+0/eanUXe3TUofDmDMvnQ0Q9EWoiTVWMygaOkRZ/5IbVok/\ndCYKKkH9PokJqjdcOf8Nf0a79iYEAjeEal0+fchNySx+jlCAi9E1hVyz5NKV\nVDGOtmW2k1kG/iy5/6Y7Ttl+mWQ2IGHHgifM6S+S76lIaaS9mbQm3FCG24Qg\nKu6as1TsZW/djqDwXwPVc0x+YikP08rW0+dO3cTuTuay47xOn9VNR5DfGx/Q\nAkLZXLzywyrt/HnsPsRLI4f3X9HrVTU2VCERx8secCaXtdpOe46eYmygl47g\nbAeEh/NTeZ9266hyDy3s3Kof+Aft28NKXfb7Tac6Rj2bDwVcN9jS8ql68GOS\nma81J++4qFeqA0DZphAjpTrrCLg+3r4E3VuSZMl3FiC/nFpi1S9SGLQdE7bm\nA0iLDNtx1AUgpqH5hViRuUrlz3IGAOeBMK4BsMgQmF51NY09TfKxnEoLpqbN\nuvYnzsSt16hWld40ZQ31MZEXyt6LPmTpIFvm1WvUnU3+tQClEeufx+iPvju4\npNiab8pIb+SQYFA9YPqeZFC7k6cX9zk+YS9jcDNIesyUGCa6SiI1V1xaVsjI\n63El\r\n=O25H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"a3222ece11f04ada75ce9c592efcf337396951ec","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.10.8/node@v8.15.0+x64 (darwin)","directories":{},"_nodeVersion":"8.15.0","dependencies":{"apollo-datasource":"0.3.0","apollo-server-env":"2.2.0","apollo-server-errors":"2.2.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.3.0_1549541335635_0.18195252670203743","host":"s3://npm-registry-packages"}},"0.3.1-rc.0":{"name":"apollo-datasource-rest","version":"0.3.1-rc.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.3.1-rc.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"e6f164e3625f635b82763adf68ddadd96ff80f59","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.3.1-rc.0.tgz","fileCount":21,"integrity":"sha512-hS14e3f4/4iEuPCoCWEobeD3h4/gvolzC34mpH1+dHEnwye3SspSuFn3yCX2bFSSf/h4tOcGDbXDiauG4WsdjQ==","signatures":[{"sig":"MEYCIQC5LJqD8dvpE34R4owiht2FhgDFhZrgWb48anbNPp/XfQIhAPRwak76dRKxelVo5rIRmcDX7YC1j9w/WbAWTdNysNmS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZWpQCRA9TVsSAnZWagAAjbIQAJ1Ky+nTQ5s/SqnWp7KN\nVBJ2I8pJoxTVkpEcpyy9HtB11EWt1zsBEax+uOrIeQ3qnnoWtJUbNTqipXqg\n3emQ8JB/ZMF2f/tA6C1ORaxDI20u1IaUxLcytjBBRHHIwQZcCMTG851R3LYL\nfa5Ag0HEJ1soQIZGNfcInWe4f1Yghgh2cPU41CqM/hx1h2pA5/bmcydVF6hq\nJLo8AMQNkwN2rG0mPq0r98PNBomMCTQGE6PLs+8Bg1IoA/Zhfv30QTMPooQ6\n7ffX9PCi2mgGwAXD7bI6nqoqkF2NXsZ296/om4pq1KmTIIxSFlMzpyNik9fR\ne5MNCC8WKkSiIsizm4nWhH3G+fxfwNXsDCGvlSRPDPWo66j4DswItyV7BZkk\ndImaGj8E621Z674LuyItH+QCj62bYbzRtro8A/xPHx6k+LOioAAbeVuSjNcy\nnFNJerYnaRNMcCNBVRvimMGc91OzW4m+IQ1rjKopxWmFLYcMZFA3W9uiNQ0L\n9ipk9E5zXPqd3ws5zg9MMSmoGUuT2hXFJXgIb7ev3BdhjwdhwdGdr+xxbV20\nY5Kd7lEOLr7GKVy9rMOTT3qv/J3DOHVEtm3j747xAfQEfeomtuvocwOkXSxx\nXN7bj8AmIMy28yV3CBxxS7i4QsivJ3ZDp/n91cgwjdHXxY82xEBpFLXzNUfX\ne6iD\r\n=FV+V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"f988a30e8c655a10d33cde26bdae1e4c265cdb60","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.11.1/node@v8.15.0+x64 (darwin)","directories":{},"_nodeVersion":"8.15.0","dependencies":{"apollo-datasource":"0.3.1-rc.0","apollo-server-env":"2.2.0","apollo-server-errors":"2.2.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.3.1-rc.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.3.1-rc.0_1550150223430_0.18675938562030825","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"apollo-datasource-rest","version":"0.3.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.3.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"c4e13c9e6675e3d634bd1fda3b11de90a3e5c93b","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.3.1.tgz","fileCount":21,"integrity":"sha512-9bj06MHPaIu8IbiZq+wElYj+ZxdeB6SMs87JJo0jBzOJ1847+eJmr3Sy7fzTUmiBbUa1yO3RiLWnCBaQpZte9w==","signatures":[{"sig":"MEUCIQCkxuTtCSGfZ3Ym6p562HDV6qOo+HoSWEh9UeBDHKc/MAIgX5uAAYx17rYWJbxnHCR1uVPjTeEeomw33U0nrW1WxWs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZWxyCRA9TVsSAnZWagAAFhUP/1IVixEFXRyah546RZ2v\nC2Be41+zegYHqRbcNgqfvSLRV8TZWwQ8fkrDtWX8/Q+/UbX1sE0CXWOLZXS4\nEGCaBOnpooSRPR2tEA1O3U8Zn4tkaof8FvyxFxzHwupWaj5LQSKhncFsF2EL\nDNBVoFq6ARJ+dVxo230v9nZyGUSknbRf2pSUB5F0FdPYmsWJG3M5rpVPHQlU\nCR4JdiSB6idkvqcdhmnPhpVYUI4KsFPNfmCjYmqPSAKDcEnwecCh3lv495MA\nkopazazLYgSXWOIiWB6CYnIdYXaso/KCAFHaRwdUdsfVDBB/7/8swsffPv13\ncdZJBlrcabFSGcZozDPnf0hnBglHmqlxJYO/yvAxbKDAHGxUqQKgO9Jd3qUj\nrvA/cE1o8yY8G9415gBXUeiCItjdEWZN4a7BWz1bJx7Yc6Xhsasu3MU6z0UB\njZRodHoNL7ksppnIf3wjUesvYG77DS0pUpzej1DND+D1rxKylMd0cO0E3Pdf\nL0gsqdHU9AaVOS1KIp9dGIuV681sJWCFRsY+O1Z3nnyXvcPBmS8i1GTFWpJF\nRn3dKEG11FVMOiXH3jgC5st/dBb1MWkIgfhuIYEfk8METQsaIjlEEg0c9+cU\n789g5Sj8hZd5fOEV4o6s16FZ23dB3/EzemmrpKYuYqbbM2e8U2a2Se9/tL7b\nIBO2\r\n=x2LH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"c1669c3d74ae44088bf3bb23cdd9132270b26ee6","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.11.1/node@v8.15.0+x64 (darwin)","directories":{},"_nodeVersion":"8.15.0","dependencies":{"apollo-datasource":"0.3.1","apollo-server-env":"2.2.0","apollo-server-errors":"2.2.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.3.1_1550150769996_0.5722360846526959","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"apollo-datasource-rest","version":"0.3.2","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.3.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"2f9dcc6531a7258535007894717d3806ecc32c7f","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.3.2.tgz","fileCount":21,"integrity":"sha512-56Mt4VTlzeqHr+NPAkIi9KQYBhuOnn1PGrIg9X/nQ2gjY/sujiXiS1EmFo7vLbdO5NBNhfqvPXffgWWzZI1asQ==","signatures":[{"sig":"MEQCIGrWIhbHAAh4QNdpvbhHV2jRcfo8us5zDsrKN7nbCvLXAiA3b2W8fH591+xNyAtO7324+NelKRr9tnXl7MHj8cVlLg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbux5CRA9TVsSAnZWagAA838P/0NUSf2/K/y+6OQ0OOQx\nthP+2epCaDp+M3yGQt4NXmePiuPo1pV78B9pcMHCQw94ncLFbVAUJCjTyljw\nQkdQIcVYiLBIFcwH6/3ZPvFbKuOdbWE+nCIXeGP1sGLdTdF+2C7lIqSta8Yp\nOFGhGyMTavbHgLhAarVYkAEDpjTIYGE9EOAY5M9I22j9M0zKlqcvSi39e/BX\nfU65jCj4yejz7OKWrCADwy8OsrPUQ+OWSFIyaSfRbwbTZf+yBBw4sqcSbaqf\nUu5pGXANK7bNJJ/YXYitXcpeyIn2Vblp9doJBYizVPU4GIpU/NZ+LgjBFGEq\ndtfk8oSw9g3cBXggCCaDZFt4Ex/NxS6juzW9wWYpKWgmbuD+JtrdsK3rI2Xp\n7BLGWD3Uka2BTYaBYxHjrnQqEXzBSJ6jq4wUhfKpKH4D6wz8kuLt8qiYV9Vx\na6K3EA2JiiKatf7xRuaWCWC1pXog82xvw/CpowaCF1qQ/GPQrJWrn7PP9Kl4\ngncIJLWOe3jVuKk7U3wnXKPxtOdKu9g//Lf34+SPE0rCRq/nBkwSeK6WGgM5\nd9u1kWWT8fJnkpBMoJOum5IQGD+AEtr9et59/KiOb2fo7Y6eaIq9NxiT4JA2\nfYJIDxVogN/APQqenjeDDudDxJ9qN9Aiy8B4w4tD32o8dgRPqyAQqvUhm9eH\nQaG2\r\n=0zEr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"879ed190349eded2221e5b9827281a4f6ae86660","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.0/node@v10.14.0+x64 (darwin)","directories":{},"_nodeVersion":"10.14.0","dependencies":{"apollo-datasource":"0.3.1","apollo-server-env":"2.2.0","apollo-server-errors":"2.2.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.3.2_1550773368533_0.05954139005465109","host":"s3://npm-registry-packages"}},"0.4.0-alpha.0":{"name":"apollo-datasource-rest","version":"0.4.0-alpha.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.4.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"d7adcf619e4cfb33c0d50d747d3fb58741000d73","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.4.0-alpha.0.tgz","fileCount":21,"integrity":"sha512-jGxMYQuHFTug3VZfc9YqMHIfjBSvb9iVZBvUtuz7QRT93Y7N8SB9mM1zBNA9XG9OwNRxD0I45iZen0iN/Q9qMA==","signatures":[{"sig":"MEYCIQCzJOwWcqBpQjijkCe8ZxO8VT0YN5OTGmULfQMKhK54ewIhAPmzn9/mDysRDBj394mKonwUIhwNSBOAh+Z2OjCCSOy2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclSo6CRA9TVsSAnZWagAAO2kP/ApjoYbN4W6v+alChJkM\n2UmnqRVKsfjjZxyOJLW7yl5h3RQy8yYOK+pcm8gNeUpX52V8H3btPtNdlS02\nf5UugSfdMgZqbFYIeiq3d1G+z7j1dO6RqLS4L/ZQlH5jxRlBKJrQlI4g7Frv\nGAv4Z6RT+eKdfmVYEFQF4ujEJGmoVS9Zu0GPPUiWY+/y7+9gz5WyzLhbgiqi\nd2XHJh/Ocf6wkPtZywsnJG5fO5S7xZC0Gru4qpiWtj+ndJiAAgKR3hCKtJ3G\n7+GmGkjrj8nohPHd0d+f2Tsu6ces6ZBKTokUPB1MQTiQCbzYYKvec6dTmjng\nvbzxYeIN6wfMS8EslJzhcVK8+aC2Jo+iZX1XDG15YYP+7ZQqXcJ3Rzz43XVH\nzJEuMjbTsEOjOFJBnfmv69kKDk/NRKOykurtZ6Y6GgE7YFyIatibCVDV+oNz\nq92cOuJ2Bw8r22FHpZ1wybYRbcmY+zULpXgW8MJyrdmh+HFSo+eQMBI2OuNf\nbJrEgUcA0bspIQnfUBsPM0S6rHrt29ZvgujC0dme1QUJ+DkyttiOkZMnLIOc\neB7Mp/d/DKv6Zb4h1Wuj/pyDjAi8hkAzULCIDRyU7t2YKYgjs5wmp8IFM1ir\ndTbBduZpuv6rZGwvVZZikjJ4kFuedEcXdfGjzsAcrQMm7kg/+RPBPrfdZnLS\nywK4\r\n=wRbJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"77192d647901443df54762544d2528eb8aab24ed","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.1/node@v11.11.0+x64 (darwin)","directories":{},"_nodeVersion":"11.11.0","dependencies":{"apollo-datasource":"0.4.0-alpha.0","apollo-server-env":"2.3.0-alpha.0","apollo-server-errors":"2.2.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0-alpha.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.4.0-alpha.0_1553279545923_0.8212664191796737","host":"s3://npm-registry-packages"}},"0.4.0-alpha.1":{"name":"apollo-datasource-rest","version":"0.4.0-alpha.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.4.0-alpha.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"9b4b41df4f5d6f762de576af73f45410a52dbcff","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.4.0-alpha.1.tgz","fileCount":21,"integrity":"sha512-EaxALHMV6GvSYzexJEqniOrNAy2XG36Q+ih/+EpxsjBsDVZ2ZH0/bx0NxNaQUi8UUPvbMbiC66qieyOKqV1gYA==","signatures":[{"sig":"MEUCIQDWj/Brk3dMxt//eRBQAMji++gaeGiOmKl7vZw6klTaFgIgea5G1kI70D62U66Am4MKe5V3hnNYVB3m9JSmEke39/c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcp2yICRA9TVsSAnZWagAAzR4P/iRxoPCLibKRa8gBTHAd\nWXlOgohAglaNO9RE1CjiPfcGtPnADJmOB7I1KLQKCI4gMAPJfEZMvrpIuZCb\nRsqSC1IOrg/U7XggFVEirRMUzGJpp+CJlo7x5ymEp8bIE0MJEXit70+HZEzr\n0U3mj93AipVH8MB4SI6z5HdAcY8Lj/VLcImLC9fe7ji437B0QURYaFZQuiPq\nilpKcT/aZyRPZZNHg5bP3oo1ZUcR9lGn1eZ1YyVCHk3/TxOtH4uu5wNmrOyp\nP6CVzOa6PVUjBgz6SozqeDLk3fmNgw8G3B+sJfOjpDpiKThD/VqkaGfNR7Q7\nr7TxoC8Sfs258yANfCzx3Z/ntZnDVxoZA6plZXXWWKY9NenA0j0cThVQOhhT\ny0RiJeOEWbNlkaLp08sv7DPoAZSIWnqArhM9MJ7KdPyJw/1AuGtPa7WvIxCa\nJTdzPw7ERWYGkmTaHur7RcLeq7S7QUFoPwqD786RTN/34Rq3nUbZrxdN1ryE\nTBAKEJUxWt63DNX7YD3VWAf7LQcbOWOpiBKVZg7NsU3rgsFZ77ak8n3iZFk1\nikfybG/9FkXVpPL5TM2gLyqkDG7/40ab8KqeJgf5Hsf8eeGCxrqCmpm9dOaO\nlkeOdACXTIOgeZ340nbj6x7rJ0V4K/pnRvc31ChYHHMVjpuKCX8JMH4EK8O0\nZpTk\r\n=bX5P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"4279d56188e56f03b8a2c0e8c9e1ea05cc2ea2a4","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.1/node@v8.15.1+x64 (darwin)","directories":{},"_nodeVersion":"8.15.1","dependencies":{"apollo-datasource":"0.4.0-alpha.1","apollo-server-env":"2.3.0-alpha.0","apollo-server-errors":"2.2.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0-alpha.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.4.0-alpha.1_1554476168031_0.6287671324857891","host":"s3://npm-registry-packages"}},"0.4.0-alpha.2":{"name":"apollo-datasource-rest","version":"0.4.0-alpha.2","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.4.0-alpha.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"94b06fd6a7348eb88e13aa56b6a81d153f3dc8c7","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.4.0-alpha.2.tgz","fileCount":21,"integrity":"sha512-C08ZeB3aK5x3N/tBlvF35chzx3y7HVv0Ky3DOiG36fH1SCvHQ5U45ZvcQHr7c2uCMnL0Zw9UkjXAeBvuyIwlzg==","signatures":[{"sig":"MEYCIQCOYPOcBL7E+2C2chXWn4VdjL2Ey2PeSmMQJYLMG3UwvQIhAIV4d0on/FU2Mpjqn9bS1NeSxgzEhW9N1uOUN4FenHPa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcp4fRCRA9TVsSAnZWagAASB4P/RSQWR4GL8tkKdv60cUJ\nEIPRyK4QBuBVaPH9fmPvqWzoG3Kl7Vd0iPJ3Fo1sGGvNwgx71x/ula1XcuDc\n63zwIJiQPpETidG4kTHST0SkKobip/ka+enAe5ta8d1u6fXC9CfIBdIzXDZg\nBnidZghJsGkEEtcnjy1tYdYyvKjoMOiNcNY1XIEcDbI9+nDoKnfdSAYLJKAg\nGsiwhyVS5y8kpG4AgnsTIqu694MaAga+3Af5hambSmmyxThgpMV6krwIiLVz\nBP9t+IfFVBEKSR/PmDz6InzyGGPbUMknrfUEfymWaau5IBeIRV+JWTNYDNnh\nRW9v+qH7DgC/hk5t0g0U7o1caTV0xEh5IKqKc9W4KqW9jZZAKjr5jhiMavYA\ng7qS6Aj7MCLZiWadu38u8CK6Na+47CEMp+uQkurTun38il/h/4EKSmekTmUl\nbD7Djyof3nXsrfZH9ra2qCZoUWvyeMmx4Fszf/isfBMclrtSKtYB4rtDO1VO\n7gR25Wpd4aVn+TMsKRAwlPIQh7PX0XsMP5qD2CUlkOYsEytOYAqqYWZENwQg\nprFlIMHz+W4+LE8hgLLqJPz9rbtHAbfJHCkX1k4wWNrBDNDcJUxYDHmkaTCc\nNE7p6QA5do2FabxqjjWI+3JogW2JImu0kb1rXJK2IBEOM41kMidzdASLAX4N\nrVh0\r\n=cTEq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"9e9543f6b7f7ce0b6ce6d59f06f10f4ec18d8a26","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.1/node@v8.15.1+x64 (darwin)","directories":{},"_nodeVersion":"8.15.1","dependencies":{"apollo-datasource":"0.4.0-alpha.1","apollo-server-env":"2.3.0-alpha.0","apollo-server-errors":"2.2.2-alpha.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0-alpha.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.4.0-alpha.2_1554483152177_0.3139197396537077","host":"s3://npm-registry-packages"}},"0.4.0-alpha.3":{"name":"apollo-datasource-rest","version":"0.4.0-alpha.3","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.4.0-alpha.3","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"28416dc08509a625070796047135e5e49e509b3f","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.4.0-alpha.3.tgz","fileCount":21,"integrity":"sha512-B4MK2mZHnjhL4M2cyi4JYgbyWk7Cm3TXukXROv4Nvlwow1HcA87SKicr21z3c+8movs5DsAa2jif94UcCKFaAw==","signatures":[{"sig":"MEYCIQD1NZ9/+RMGlfIykAEiCxxLJXl/RoB6iKxHOJxr3dzzsAIhAKR6AXuQbsGjTeiU+WVaN4V1TOFClMKesLxVRBRtRN0y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsq7MCRA9TVsSAnZWagAA8S8P/2DCz9ajhy7ratpb0KSp\nfRGP/u59YFT5AkDxZMJM8fU3WP6K3xyu2h+MFpR8h4fj9J3fQ+zdrUtzgPTG\nfS2b3vPuKHL1SfQClFAf0hMy5qnuCLmA1Y42mUk/mNWQgl0zVUM7RPyJviM9\n8pc9m4ahsrK0wyNacaW8727zsKSo4tr+ARc1S6TGCRb4lh8QgKvAIrXwFS0l\nEXRW9IzdbXxsPYQICq0ocyx19RPS5hoy6EIHxf8HD+iQNEr1JXTUNrf/aBpc\nOTyLUBMMUl3WRSzA9pdHDYa/sTv+3nLYLrF3i/3dGLEnzoKF1aAFOpqSVz4z\nHFsQdc8S8hZxJqHZ5NuwXcBUPyNRT+7cQOh3+DVnssQvES9OG5pbPPtcXkXd\n43qJJPTYqBsj5s4OLN9BEWYM50RuCg/nab+7+oTefGmo3SQalG9boY2v4mdV\nFsWP7vCFqUSEWK4b5LvXqb0K+CduX6NfHF1X+ck0+Kze0KQWg0gYsJrKOj55\nVwpGxlUSZ3bMN/IWH4ngkkLFPf6yuyGH5eN1tI9eS+5TUXaoIPq64d5s3Rxz\nXtHuaCogtVqiWHdecR170TpHRsc0omftgQz1qrF5pGMU9D8tXuZ6UlaeD2OQ\nc8JWJtJtfBo3xRyadKvGmXOxHK+/YcvqkzmkwEagjRGO25hN0U0bDJe1rsBk\nxm+U\r\n=y41v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"551c7580cdc3082f590ce2c52161e51496d45cf7","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.1/node@v11.2.0+x64 (linux)","directories":{},"_nodeVersion":"11.2.0","dependencies":{"apollo-datasource":"0.4.0-alpha.1","apollo-server-env":"2.3.0-alpha.0","apollo-server-errors":"2.2.2-alpha.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0-alpha.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.4.0-alpha.3_1555214027926_0.6852060842707706","host":"s3://npm-registry-packages"}},"0.4.0-rc.0":{"name":"apollo-datasource-rest","version":"0.4.0-rc.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.4.0-rc.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"f0727634d54ad8d41c282fb967872aec3f131a54","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.4.0-rc.0.tgz","fileCount":21,"integrity":"sha512-nPhsI9UXs52ojh561pdVQg5gPh6V4jmpyw9w6qEoYt/5O/b9T6Ks4z92iTgHI73rYhWUzQ0ZBbPZ5/raXN6INQ==","signatures":[{"sig":"MEUCIAHMOiz77KPqSjnPX8vQZ94g310wIZLve2CW1BXKWs/wAiEA0BDnvkrJvU9u+GdbD6z/DhhlcBdCThU5rgWAPVy2zfk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78203,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyDndCRA9TVsSAnZWagAA1noP/1CJmLa0DYwtMJbLJyu/\nv07GJXg8gt6JdGMB3AOfJjzNuCit9aMZAkp9VofEYW3JsBB45WqeLAzDA1jj\nGGi/2vdNhkYCTTty8KbXcNNh+B5dGM1eJLjPZFhd7BjywD7i7i856s7zUNc9\nKnYJAgtFc4NDLIJaBjKrLPm6Vh6pAZMxwArqUo7i5TA7/fG492vI0DwL58fS\nqHtU3lFf/jTs7b1nExQNcOMocdcQFVJPdXteZTUEMRqeX9VjR6WMluGK5sfi\nS19KvMNqpGH2DVuLv7uw8MlNiBwIyX7+ZZuUCmPb9GrU22y3WXWpdd299N6w\n7m+kjAzAA2t2KCos53s2sShQxsYmI3jm/s2A08dJ8wEbyU5iy4P799zehUJu\nqmMSz+lpdX+Zt4HiqZ6DjShPoTrtdI/lQgZP+FoxpMKnK4H2xXgkM/R3JkLb\nsQfHJCj2nuTCST9Zmm4RUnFjNBol4V7ZpSk4EkSnZJwAtDI68kzMa+c4AH2f\nivzh67GwvXDM/biIVbQ9U7Je6fKzMv2GM1mASGB3zKK/tIs+0RPqvB6sDa2/\nTzM0hdfQKEt8Z5xbjkb9B9kn6owoUBcjcENgBm+aNi51lf/+46e9mH3tcZaP\nik1tnsiNKB1qPdXdAIsoYCP8glvoRIxEym2/V1FZvKtLPDaZ7KS/XCjciRbm\nEZt2\r\n=giR+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"5aef85b143900bf64f9eb3dfaa5093718ad364c9","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v8.15.1+x64 (darwin)","directories":{},"_nodeVersion":"8.15.1","dependencies":{"apollo-datasource":"0.4.0-alpha.1","apollo-server-env":"2.3.0-alpha.0","apollo-server-errors":"2.2.2-alpha.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0-alpha.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.4.0-rc.0_1556625884412_0.03656961023748995","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"apollo-datasource-rest","version":"0.4.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.4.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"b6de3ec1257f05febd9dec21ddd35a7fff3d3fe3","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.4.0.tgz","fileCount":21,"integrity":"sha512-Q3tJYD/3m0Oxoom+FMjUcW2vhr+7nzZCCLALJZWpAxlDePYKqwFXNY7MmQAISmdl7dF7XhlKfJWxNCaSbhwDmg==","signatures":[{"sig":"MEUCIQCYn1EM0pi8DUSowyPZ1W62GRt1TOtHpX4QODlKpEy/eQIgFICGlIIAgBBbCuqgVE7OkU73QX/z27ol7OLPqqVcOWQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0X2RCRA9TVsSAnZWagAAJCgP/iJQgPfGIbYhdOeTc3y+\nOShMQKO3bjsqDG0MBVsV2AGaDUgJheKiZK5KsakwRIcPJzdJAUUB+uemEWDv\nKfIniahdhADsoQiTNxPalQ6LosXiFUPri4qbtANdg+cr+M5c+eW0zU5Bj9bn\n6/tCN9iqKE4eswSv8yi7tmOOOxVan9NFyFV1WKkIzm34708t0nZDB63PlWV3\n4STgv5eyo4dcr2o9NSAbfm2HW5uSTMM4z+edCMbp8blHNX+NZNj+qE3KxhBy\nfSlS3cXgTJiQBwO3JFCts8u/Y7YQDL3SN0iFjgABkuCZi9p0J54HAC88tjm2\nGxCkdqvJFWeqk5cF9njZ/sZ88QCEj9bRc0RQvBz8rKyKlKbpKduKdFuK30Vs\n0LgmH78vvKKLk6c1lNRnieO9UMkQgLphES/Qg8ub5oPeX75RG0e+aW1e+eYQ\n/Ta+kxo8zSdbhWFr3Z+cvO9cGj4Nf96OHr7Gc8XoOb19MGhWLgGZwcXqWLBn\nuOJMzkRjfhPrs5YFxF/EdADrgkKPBgrNxo79QstxaFQBfZW6zOvKJDEypHVZ\nzCR87n9eZ5oLMiqJ6t+wRVUW3kOMPEgs6Y6P0CErfyiizfMLFai1rjSfaU4A\npaYIn3Q11oVPO13ZTybHh/Ixa1ObWTFDysTmvwfZc7BPFYlXkh+YFXhplzuR\nSLp+\r\n=ci1P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"f7e8ea067d6421fbc8ef41f91d1e673cd20f08d8","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v8.15.1+x64 (darwin)","directories":{},"_nodeVersion":"8.15.1","dependencies":{"apollo-datasource":"0.4.0","apollo-server-env":"2.3.0","apollo-server-errors":"2.3.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.4.0_1557233040855_0.35538596081658635","host":"s3://npm-registry-packages"}},"0.4.1-alpha.0":{"name":"apollo-datasource-rest","version":"0.4.1-alpha.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.4.1-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"c52340a9d553f43bf1996950bcf4a56e1f831758","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.4.1-alpha.0.tgz","fileCount":21,"integrity":"sha512-77jv3DjVvmhx6YFfAXkwtZrXejvTh0skP7AO6nYaCrUUSNr7QYQGdGj2xJtKWfrHpVoEBpwhAjCm2biAx0fTDA==","signatures":[{"sig":"MEUCIQC+W5HhPAyNMsNxN7jQm0vQA9uqFulexmpcMJFAlb6e4AIgfsXht2g+uOHbKe9mgkArznmJIGyuztIRDx2FSo4hwJo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5sqbCRA9TVsSAnZWagAAwXoP/0uRTtSLko1sJwAHqD1F\n/EiVm4PtYSCRxo7YLAEYjxH0wKD9RF2rJvhAK0xLjWQG2bJag7ILSqKQUpo/\ndbuqIXFrtMOt2fjmHDPTmpmKdaCikqP097uRIRK2rVRDEFfc+JFb7P+eD6Yt\nXV+qjRCeyVba8uJORXW5rHnmXWxaEcV/qVjNPZlrZtrgP91WhZcbwlfz7VkZ\nlXieKOXbPd6tJDVGGJDMRstW3AB1OX5bYMfORvdbU/SYdwUGG2FPyxQ4vB+F\n95IamInofWa+2D6mEbn3eQNoyPtm6mTffjPiDt6ErRAIkaI4sfzcol2ssWCr\nFl0zrUz2QwE14NXBUy71CAPYc2kj9EAIVuUb5UUztP/TXD+Pc5a5sHZftW0h\n+FP3qWNpEiYbfgs5gPMoTU0N7adnCHOdFUw37BpQrwH58g5IO4I/l8IphfB4\n7RxuHbel/v+9l5F8j/mY/L901OPdyYYT3RKv96XFa0d2MCi4GPnFQcYDkp7B\n2nVY9mXqyrZx/DHpTVXmR2zxLzLnDypscZd/XA6QiF0bU3P5EK8E+cKb7Il4\nZIg847hHz6/LE3Rp0O8IOhCj3fO2ofLL2a+UH5tlA5ajd/XsuSutlmYGSI4G\nto+7YlHTiyBep2nlezN2FiMe2q1cqLfFeeqF/oKF8LA0C87Sch5ZpmN0plAR\ny5L1\r\n=Zf82\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"d25304e123f9176e1980e59e03ac57b03cf76f98","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.15.1+x64 (darwin)","directories":{},"_nodeVersion":"10.15.1","dependencies":{"apollo-datasource":"0.4.0","apollo-server-env":"2.3.0","apollo-server-errors":"2.3.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.4.1-alpha.0_1558629018690_0.91570470903076","host":"s3://npm-registry-packages"}},"0.4.1-alpha.4":{"name":"apollo-datasource-rest","version":"0.4.1-alpha.4","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.4.1-alpha.4","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"2ff386450713a7416ba50f61177e07c5d86223a2","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.4.1-alpha.4.tgz","fileCount":21,"integrity":"sha512-ZY0a1okC+SCrea6OLl8U/ZZkZSy1PdGd1PLkECvX67L7hx8fqIcBBw7NctkU6m1iaM5y7hdQYGS8ihAUVISEtg==","signatures":[{"sig":"MEYCIQDVYSqkR/FD+H0WX6XmjVXIWbPGYBYBmyREAApyBvwyawIhAKDauhd2uC/c0OVBzO4++90FNdLvM39/pzlulJALa6W1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5taHCRA9TVsSAnZWagAAQjQQAIx0xsTMK7gX1ldfMZ3h\ni/G7SOoNIwnmdZiGUNKscK6QUj86dti4M/49Dq7JMTzoO9FSs+OH0ayPx8IL\nwomc5ManOmMKARxEG5lGyH3aibZlAVOfx0DgHUXwOeowYxh9NDoogGK7KBeo\nSLEvljJBn8kNuXBrDfT1dvbwFJsnZjQBdV+4KpJNBgn0TI0XL146S2pk/9lN\nMHWb/lbAtBvMZta1UayYt6ldyKO4+u/zK9PoOmzx0xzyiYFa5+s8wBA4XDXj\nY7l034vAtzS4UjoRYQqW6Rejb6Zlx4ZYzt7TO7/IS33vubKCeFAfUAaoGMla\nf5v4tm8L64aROYr36+qQcOKoEXx4oE0/qI7OiMHWmf37Q5ZfS00a/wBMIQz6\n+XmiBDF5Za0So4nIn/zAq+VrmpEkSmfR6BX1mrgydLOM809dbJxSw3pJLXTY\naiNhvX7JXab5biMAakce33ly3mo38GiiGZHeMMNVfjApIhqomwXH8ecUIiik\nAv20OpDNF1nZ9TchfQn+TuQAobAj3waTnJSdGqyRPdtOYt6QmwHuwl2EJCPZ\nxbxWvk/Bvvz7dIzcAl2/uzevjcGQtQrVF5HBzaVHs6/tsVSKj4DKEtluctkX\nFfvJJay08rCnkWvfq72c7Qsj7smIRM7TKeNLRJ5D6ZnuKcJhY7xNWmrk7RCx\nNjml\r\n=K27N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"bae1f5c4b748c9935daaaf899f5508af18fc2c41","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v10.15.1+x64 (darwin)","directories":{},"_nodeVersion":"10.15.1","dependencies":{"apollo-datasource":"0.4.0","apollo-server-env":"2.3.0","apollo-server-errors":"2.3.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.4.1-alpha.4_1558632071050_0.7253396623446988","host":"s3://npm-registry-packages"}},"0.4.1-alpha.5":{"name":"apollo-datasource-rest","version":"0.4.1-alpha.5","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.4.1-alpha.5","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"b267f453b67c8f4d454e361f18e087b3d59adac8","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.4.1-alpha.5.tgz","fileCount":21,"integrity":"sha512-k53iiuZfRe4D/0LkbEQGQFtIuxPNw9VjlELPr0wihZkuFjx6qzwC9b4aldW1u/VqJd+y/u8yUsEweoQdwg4QVA==","signatures":[{"sig":"MEUCIQDKczLf0tAd9f9ZS9HjWrhe28lT1dXE87ouCq+GX3ZIjAIgbu+WAuOUYpvfc7jWWlb4cPToEn9qNskFT0o43QqKMb0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7CwhCRA9TVsSAnZWagAAjwwP/0yt3waBbJ4fuWAvTNN0\nmoBL11gvftjueX3BzwYJ11vBAELJc3jUsWzO1PATuXwuOYgxz5zhAx8+ORl1\nh88Aoetditwuv+U0Jbj/8iGHk19eCxCeRSh/j9T3mwn1bPsDz5YgTLVoZbW3\nrBcP9Aus7BNlPUEWIzIFAk6Jn4ybHZh4URSSB5xLrOJNo6zTEf/KQETjDIxX\np1kYRadLf9tLUr/LeP46erAaUrtFAlYxwAsTWBaK/g3CDMkmEQQsybaoLW68\nqhbZp3cSU7wjTWJvb5XSmCM6dVg0GjE+jaTNEBaByyurF+ZBEMC4nrzhmOgf\ndxHjSuvz5BCEiGSKyDMiuw+h6v+HNbMsWtXLaiozR5gwnrrM1zWcuw1dmRxm\nawmH6hIGv8lmBS///LxT6Bd96MlWw+ajAXCF4yHxeOhdeZZcxgEXiNRxi7Uj\n8QD8v9pQmdsy46BbRoHVZzE4duPRDnED0iZfyiJ1cw4HhhlLVM/bZlBheGN4\n8i1KbyGXUxr8rl17PRoW2HJkevfQKLtqnpHUc/5RuvLbunHMvlD045FYATdy\nU9cLfhYCXv92hhblrnZYUiJsqNNXIVLCdOzKlHDq5szFOxCTMoszQGLiL1oR\n5VS8HLE6YguqgaBQt0jJphlnYIPa1g/q0bbtOEbKpb91ITbbtbWY2NZQ3VcW\nmKII\r\n=nJjZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"b544a25db9d3c6372f96210f901c5c9076610391","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v10.15.1+x64 (darwin)","directories":{},"_nodeVersion":"10.15.1","dependencies":{"apollo-datasource":"0.4.1-alpha.0","apollo-server-env":"2.3.1-alpha.0","apollo-server-errors":"2.3.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.4.1-alpha.5_1558981664924_0.6954485303410463","host":"s3://npm-registry-packages"}},"0.4.1-alpha.6":{"name":"apollo-datasource-rest","version":"0.4.1-alpha.6","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.4.1-alpha.6","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"6cd76a844e0cd450624dfb3fef49dd48d2403523","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.4.1-alpha.6.tgz","fileCount":21,"integrity":"sha512-rEFVVH7GahTTP+Szaukc58OURuBrkIqrK8nFF7WZY/FIfX9LMFMW7AOUkcleiWJzYygoaSGQPryfS6lPW2Letw==","signatures":[{"sig":"MEYCIQC9srmdFHlSEZU0IkLgZ1zhIo91j+vvB7oqtiLh0bRBSgIhAMh29pVg7L5rF01KM+1CkVfhQ56VnT2L3MffMIuIHZue","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc8DUeCRA9TVsSAnZWagAAQNgP/RNhdXo8dftJYwUtHrxo\nSLhdNmkwHQX71QJWUOy5iGr2FY2VknBnf8/94BD+holtwBIRVQSBjB1fIcAB\nREt7kNig5djdEegfIInp7JRl3iCCl8sIp1PrvXuKSH178di3oivkDYyu/XJk\ncqYx6OIS7WvDrejTraqbu2vgYPFOnpaocG+T3qAhMaUHqa46yP23bv7m0Uki\n47frfcdwJIwpaSS4Ie6T1lxqzUM3M3yMN79EP7K0x6XCfFSk5AJa9Z4ZQcIX\noUljroc6IhRN7x/zNvQXhN7jw/k9rLQhy8ygL+asPo0Hxu6NsOUa7/xuSyfY\niMV7wmOiWC/luTchCk/24N3UGH6YyeJTMNOtg0BO5btAx+U9nE8EBumnvsWb\nWdD7Xy5KydbfLosMLIYDnRCtVZkwi9wHKZaJpQ4CDYC+GB/a7Wkn0PUN5km3\nNIF9iUpos2aIFLY66Wgf/pibcExYvo9mfNgAtxTgOYmc0YlXuXOpRgTcuOuO\nr6AU3WSrt6NQx4huNBt0K0ZIZzXBCV0bGv6HxJk7dumj1S+74Nr1jW74UIdP\nDC76IAxRJk7u2LaCKi8dV/HSAJUZ96vv8994WzzvP26fb27dHJfhiKq6g9+Y\n9jK45OM7jNE1+vJj9CxYh9rVYm7p4qoCwgnVnFRQgHMFEPqtjDvYvl/klAv6\nFtPl\r\n=W0Sy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"fdcd0d29c14a76bd70931c7bb5961b49a4f84d0e","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v10.15.1+x64 (darwin)","directories":{},"_nodeVersion":"10.15.1","dependencies":{"apollo-datasource":"0.4.1-alpha.0","apollo-server-env":"2.3.1-alpha.0","apollo-server-errors":"2.3.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.4.1-alpha.6_1559246110087_0.6150930310955265","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"apollo-datasource-rest","version":"0.5.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.5.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"e40cc41c04c15ab2973a7adbf8f99621bb77dd41","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.5.0.tgz","fileCount":21,"integrity":"sha512-zRjF9fE/h+s99HvceTn/+SRlnFQGHYw1Ic2cqSb+XR8JbYfuWARHIIIq5XhFFmqGfDgO7uXkfl3aP7Ozydbi/A==","signatures":[{"sig":"MEUCIATFKftMrLHCUvyyar31XC10cn7K6HeI2ilgG2fpcixJAiEAmCZmnYviF7FPR7rp/xB4QMTl/k02YA0afzcO2o8hk6Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79261,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc8WthCRA9TVsSAnZWagAAunUP/RHiBoMasvhViS5X8uGw\nshkJN+f93yv7pvggV9oQXBI2eJo1VzQmwss7/sWpubkTqvkN9CY6IHEJgq1x\nzyHz7K+aiEwy4gAlSr3u46hJ6iKYzaBRHLLfrVGUmwWQklqSLAKpuMioEPax\nuax5ehXpPyi7U2CzkbTHfi9JyRckL3svLn1SiQSECi9K5MSy/nKadPeKdOTJ\nSN43Dp2+jIRqRW+zUcWANlojzx4wqnwNlHeJIgtCHErTMKzcFhAIKQ4wCtVv\ndnEmifyybct4PU0jacATJKTN6UJOq+p4uX7CtN6QYZo9wRfEz7JL58PKv083\nq1mnhzZwvYp+HPAI5X39a8rAVhNyHVh+xFKktdtrbO9fRlMyPjBEu85yE0ql\nApVhpk/PKiHWCL9Cr+TrGqChiNpU/jk0J65667995Il66O7QG+IY7znU2KN1\npsz9JS5WkkpXwQtSChMKT5yJ/I+1mLStnM2m0tKEMvK92iIJ6uJj3rcHZHZC\nowG+Ekd88NMhm5kfQHnVGIqqSfd4+pEJOkyFZJLvj/MDiFphdiW+GTc/U+GG\naVKF3uObk9BJ8D6CWIPS/eXc8zBoVJ3OUA1H9klR2H0GbF3rPJlD/C9On7mM\nL8IvYzKxy2CtO3rfO1BXC31p+E/meLDhda69CLpp2iCh+BRTQA2G8M07igxW\n7+G5\r\n=8OAQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"dcab64689dec2d00a9c6d302c7c05c5ab847e855","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v10.15.1+x64 (darwin)","directories":{},"_nodeVersion":"10.15.1","dependencies":{"apollo-datasource":"0.5.0","apollo-server-env":"2.4.0","apollo-server-errors":"2.3.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.5.0_1559325537188_0.9323640765781278","host":"s3://npm-registry-packages"}},"0.5.1-alpha.0":{"name":"apollo-datasource-rest","version":"0.5.1-alpha.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.5.1-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"4b67c6d23b3b429b6de03ebb62ac2021787b5bb9","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.5.1-alpha.0.tgz","fileCount":21,"integrity":"sha512-6CKKN8pli62Ts4cVUH3zLMOP1doh3GDpp4Mf90AS4HWZ76PUQqd24SZI29zm1t1z6daSo+Ixfrn8zb8wTIjsCg==","signatures":[{"sig":"MEQCIAuozil/2+bnwtVfxHPvwuCFgZ4xyAUdV1YxMAlejcFhAiA3QFF/eAmB7DEn8rRdpjEVNtYZBiNbgnMlwtzIC06dtw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79301,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdEptiCRA9TVsSAnZWagAA3SAQAIRe1RWg6oedRgrFS96V\nh27zwVT/bCt22s+rGHmox3ruQEB6HCKUSMLjmcfJuJvanT+X12ianmBLT/Nz\nTVUTuvLJ8ZpMLSaywTm+s/blX5APXdyOQ7PllleUVfbOO89xLQoKHedJFOJa\n/sMT4BoCN/EavRp820vi9lLB7lwYMGuY8DxoFGIg5LRgKlzgzk4qscYNagDB\nnzETyphURkzYc0Zm3SUim/ghcPQ65LP9Q1h4SsGv+G4lVHeEIwDaSFKKy2WM\nJELUjxH/lCciWqooEVGxNImddibqcJkxGHMFcrK6FKGTWLShJFb/Ju2mEnjA\nINlmH+ysbtY8U4LsjRuu/OKVTLcRU3nHqwFRCjGIaUjipZwn5rjszikbRG7Q\ntGnA/05juLmOWWVd0HRjxJIhhATIOIdnkm2OzJzJSSGv5EWvmWZwZne+g2Ds\nz9vZTHO/H1ItNKvFMAGh2xWcxqGrkKVYshO4Usr21UjcPxHCCmgTOrPdH42k\n8TUQeMb+i9pQqDNjG0FvjiByuZzRrpwBDxLrDnE/WToOFGkLKkSGJW78YdoA\niZ4954yc1lq+HlCuBlys7AcPlHrLTcBZo8ACdA7sak76e9L8uNupkvfuc7HZ\nAIsrQZsnlUmmAl26TH+UoFnhEEz9Mi/Bue/xeZACmuet1tHOERm4ehP8L52o\nwS3L\r\n=1noc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"ec185a874c2f07b3724db62a3ec8560cfe3850af","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v11.14.0+x64 (darwin)","directories":{},"_nodeVersion":"11.14.0","dependencies":{"apollo-datasource":"0.5.1-alpha.0","apollo-server-env":"2.4.1-alpha.0","apollo-server-errors":"2.3.1-alpha.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.1-alpha.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.5.1-alpha.0_1561500513862_0.5445176983986175","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"apollo-datasource-rest","version":"0.5.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.5.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"bebbe38bdeb6c43ef00bf22dae0b932742178968","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.5.1.tgz","fileCount":21,"integrity":"sha512-ySgAnP252L0ibJXLzDwF44HBqTV60cL8kZeK0DJgsGtv+SeynXv4GIcqlthbU5h7vzGCaZ/6ijmG4Fx5snkRpw==","signatures":[{"sig":"MEUCIQD22tzPanpKS6rOti+xRll6F4hX1K8/F3kjXUwcSmFe+QIgUKNJAp/CcRVqpJ0z65yWc15tTbz6O0c3KC/3/Pwsybw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJ3/pCRA9TVsSAnZWagAAT8MP/2gkgdBjdVh2iKE4aDY8\nRWs4/8tbHx4Jw7ciiryCLZOsph8TI7RG0AwcSQfMuVmg/6qsuKhDCsu1YSoT\nT1zi6RWnsUFweu9Qu10bccGRBbNUwugJwYIp+p2JsL1BRm/DOwWdHkUUXWV0\nA7cj8F9uUXl4LiSf7FtfMgBwjx1T8+3xkoUl9pAvpYht8DWuXEUOb0FlEoUJ\nx/7eZL6ql20CIvCs1lU6JiEtYtl6YxaW4s/A267zi8X65cQgosOFBcP1YXLt\nchGLvtnjGie3w87DyjLgeSveYXsq+IJdfHg561crtMpJ15cAoMksN2lWjhuq\ngt5YXEQlTH1mzBnNECAKWTSQ1jxMNG36ibaLTHYCSMQug/OD9R0XaHoUaXKq\nhHVyqudogx847h3s4xnNWcOl77de5dJf8/popd4uVb4v304NSNmxl6tihTst\nEMNOt6gO0S2ibjlzad0FEiQtts6+8Fv0XnGCi3FNXIEjwpDD1Gk32LN8gGV9\nk3W9e42OvozdhosF7Xd0IDH5osV9aQMTu8GmJpOOdV6D9mGtE0oV5BmpQsLr\n3CJvYYe1yFpcBOR2wxaVlEo/uNdod3bjRIn6sbW7Cf4w54KJFryNMWqXVyUL\nPrreV6foKGK0dX4nn6jE9HjU1DMLE1duwONg0ORB4rJNFQU93Zdrc8Ic4LDw\nll91\r\n=OjN1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"57210129cda034b095d3f227298021feddda03f7","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v10.16.0+x64 (linux)","directories":{},"_nodeVersion":"10.16.0","dependencies":{"apollo-datasource":"0.5.0","apollo-server-env":"2.4.0","apollo-server-errors":"2.3.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.5.1_1562869736367_0.8122232405643699","host":"s3://npm-registry-packages"}},"0.5.2-alpha.0":{"name":"apollo-datasource-rest","version":"0.5.2-alpha.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.5.2-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"7869a16621d467d57c3f6f29e29d07902a18e837","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.5.2-alpha.0.tgz","fileCount":21,"integrity":"sha512-WeoJqTgDb465cRygABZ5LyxffNRaecR0dQHeD8pT9idu6Qq/SSjaUy3yA9uM7vvgpN9+ATsLgPlVo9gYT6BDjw==","signatures":[{"sig":"MEUCIFiD3Rs7MxOUX7heDjhkmaVQpr1ct4qMTRXaLzv+2lBVAiEA7WLJdLWs6SXphYAghfjLHMvFyk5cSot35xvCOwTEH0o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKkPhCRA9TVsSAnZWagAACWQP/0yXz/w7zOTqV0zLJFAH\n+097DM8vkABz8/POQdU5suYXQ89VSEUwF9Xmv2Nwg1zbG8gXeFftu0jPjhsA\nSDmKW8IkOmJHqe1Kw5pY0O99lzjiNJTqu96fg8Ne9KohU7KwAaCCrc45eZVY\ncvWgIsrclp5mKDANx6AsmOuHlhOxf56Jdswy+Cn7p7v7NLREE7YLaDSlZBtc\nFEzoh0UoxQ65oF4GiOxM/0PxREYwVLnRzW3Fg37HCTnbvuDxR0EkSNTFEHc3\nqTDy5rHXhqjDbg4+xUL14TMSFHqpqgQaVzAWYPE9buesW8pgq/3KoQw1ngTo\nTjKeoPgUBykVMnB0dptrac1cTt+16HfZUlyov6SdMxAolxciHjph4FaQlOfD\nMqOMbDNHqGPNQAlAiFXVSUrNjRLXXowXkUYk1oJpEWNnD3ZWCQIRsywSS9+O\nzZ9/9U71Hjl7+fZ17mOwz5tgFTgKVKj8KeXinnyBZq/+tTPOe5gJqZWVcfZm\nDqb1zPM6SnIkUXMplT6EsX4NpvCRz7k8o55RXSgnlNq7U2+6Snw4iIqU/RyN\n6L16XWNFZw2ye7UYLxPIJv3XBONuNWN/7ImMcSR+9C3xtlid0mAug2Uk0SDc\nahWUfLEU29b3M6ujwqlJ5U1cXMWO/dQ6xoKRDxC6O+saRuJW/SQ/xTXVHa47\nqab6\r\n=J0fq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"0b502808ff0151acc5ea0115f60cd080421500e4","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v8.15.1+x64 (darwin)","directories":{},"_nodeVersion":"8.15.1","dependencies":{"apollo-datasource":"0.5.1-alpha.8","apollo-server-env":"2.4.0","apollo-server-errors":"2.3.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.1-alpha.1"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"0.1.1-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.5.2-alpha.0_1563050976431_0.693549968998352","host":"s3://npm-registry-packages"}},"0.5.2-alpha.13":{"name":"apollo-datasource-rest","version":"0.5.2-alpha.13","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.5.2-alpha.13","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"de685989067b7a41fed2e65c91982b07c0e10326","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.5.2-alpha.13.tgz","fileCount":21,"integrity":"sha512-xQxk+nRY0vUcWdHogxzRJOl8NE9pv0EpqTTUYJOSMaRGtt+xcJ59mrWNGK3GFqMViPu2VlyZ/ks/qBPOrTrIGA==","signatures":[{"sig":"MEYCIQCNzVVRAvqzet9h5WrK4E8DEz+2HmCACji0mL4Mg6QdZgIhAKSV2hHqZ5vUmMyoiUiueCEDaXeigEGItm/SO4lXIweS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80706,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLHSSCRA9TVsSAnZWagAA92gP/1HJoeCS336R7cYBCYTO\nlrJGxJznBXWWGA5Wq3T2JTl0FM/AwpDBT6TiKmlPPqRlWe5rhtTNFrqbrKI5\nb5RCtrWzQ2LhzFiMX1AmclZhPdpZApcN99TwTlorZMS2bWtMq6H8yce8uPf+\naJV4MfuMA/FwH+NNf0REKxa2iTEdASRHTXqPyGLEWNlOUN6q2aJDy2vha/Yz\n9Dxf6M4Jp+IakJTKu9/Jh8+ept5nXUP4QyVAQIqAW1pffHAoB4x47DXOv1ah\n3gAFN16isR3CBywbCQ4zsuRmDmPuC+kwyMelzFvo0fsoQ5BY77VWfK+EQU5q\n83uuAH9mSPAsuKbrzv4fEbvfFeX919/NPkHX/joLJGX9DK6dhKWhATkKP6gX\nQ/JUHTHP0ylS2H67mnQH6m4mpwCYWMepMcqBHvhfCsdH8yNXMMS6UdzAYGtL\nfUbFbhw7JicIOOU5FcUMxWY5jcOiB+rvshYk6bn3tM55S1LHplkaYqX0AEbD\nUs7wCJeOqd2aWvZShs/5TGhtgKxXpOfXLYp9lzPQWmroHHHgO4amEbl+zI7y\nri18iaYnjTb4dCX1Qf77fGGknH955/me5cWjwlmQYxxkrIVkGyj+rVfvpYjo\nPGroJ1QSk/aR5qtNZmwsDQZ/QiCqw+k1XZkaN2O3AhjOH0GABv15GT5RqXli\nD+qe\r\n=Vewt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"ERROR: No README data found!","engines":{"node":">=6"},"gitHead":"b76ca731c7de2ebb4cd1cecff7e4d6c23f1f3b9f","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v8.15.1+x64 (darwin)","directories":{},"_nodeVersion":"8.15.1","dependencies":{"apollo-datasource":"0.5.1-alpha.13","apollo-server-env":"2.4.0","apollo-server-errors":"2.3.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.4.1-alpha.13"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"0.1.1-alpha.13"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.5.2-alpha.13_1563194513850_0.08984358548931048","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"apollo-datasource-rest","version":"0.6.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"2f55e317b619435af783cf6bd234efba0ecc863f","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.0.tgz","fileCount":21,"integrity":"sha512-9AoQswt7YzwfZUIxifITkbx3ggzE9wdfPhp0ACPe4wEUvXggsbJQv596QXhHSO19VeOFFxdXV1oi7Lp8P6QrGQ==","signatures":[{"sig":"MEUCIQDGy5DnXX5A9cbqSm5m7wmuyEcIxESeCe9+rzA1yZLfEwIgOrd1glwL7/IPbj4neO4uZiFrXrdSqzr36GwSoH8wsiM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLdUECRA9TVsSAnZWagAA0WcP/0Yqh0ag/H5XO77tIN1U\nrOZc3o+MctS35pGS5/SPt+Ko3syxQSaCOWUcuZN58Eb0jYPeYaMBT2rC1S38\n2+E6kxCJKnWkO+K/wxqURfZ6mAI1ZHIYEuW9b97fre4wxGyZX6zxWE3lV9hS\nZtbg0NGAl/v8uwJega8ZddlvRgMt0njDQfi6OniL271WbRuaxQ79JV1PaE+b\nJMzPjzDblyc3G1A6HrJUpI89TR5Oakg83AMY3BxAN/PaW/s9yzHlJOskO1yf\ndR5k4YUEAlllLzpBKJtNEARPvLExF1wI04aAeKQFjNNaRN2M2rbIL+9+g3AU\ntkV3TuQkuGYq88Jnn4THkvMZP17XKvvnHqX7fc2Qu2pMLERVCNrFfCyCw4RT\nG1PSVDw7wyRQ+ZRcU/RHerWxPwYia6AaHREYNWzdtrbsBg0MagR5FzBKAqXM\nBkiTYyejlDFdrRq7yKpwqorfmWNc5h8TuTpwkEna12duWl7iI9z5OHVbqRhV\nda302+jDkRHsZEAmHnexxpzeRhCUKteIAtwBe+JiEgMKL2euwZz4w3Iwv46e\nvXvyEsGhsRTxl4eKUSbQF9OPO6vXPlxRHZ8y6p6wQY+TRPFOp9RGDkrKYUsu\nQxWLfsSouhnHk8Vg42bs/Xv2DHGbSydxyxRwJUQCNUAzM0BIgoL3O1ZoGeJA\ng85K\r\n=7uKe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"1d44f3d4756d43123eb01bf293e65f4a3c2e64c8","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v10.15.1+x64 (darwin)","directories":{},"_nodeVersion":"10.15.1","dependencies":{"apollo-datasource":"0.6.0","apollo-server-env":"2.4.0","apollo-server-errors":"2.3.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.0_1563284740256_0.14900733950280265","host":"s3://npm-registry-packages"}},"0.6.1":{"name":"apollo-datasource-rest","version":"0.6.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"0d79c41599deab06a7ed93715d4aeb4fdb59d892","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.1.tgz","fileCount":22,"integrity":"sha512-jRynPLtkk0JqucWbC4VGkDqn6fvo+JLL+yfvQ7gh56N61RkUfSzZUlskGHgPes8YdVqvf4B80NyZq+Yq31uipQ==","signatures":[{"sig":"MEUCIBuNSrpkQktoR7O8qUiKUbpZTY3hoS8PqCI2Nfq9vBCSAiEA0QU2Jpy4nzhnc3H0A9MLFe+IU61nzX03QMsa80a0OFM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":86910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOYilCRA9TVsSAnZWagAAIAYP/juebGL19GDUgRd/FTvc\n95rfyKQ/C3P2rwRsYDljF/QRL1p4fC/rrKv3hwSMwfqpl6Cc9SQi8AOaHgdL\n/eCJTiLBvw3oauFjyDM2xDygbNub08ObqFqQTtG5ROTiSeKAbY1m//XxYS42\nXJEGAuwuIy4VsfeeiFiAJIRbVMJaHlYh9az/dVZbwMLbOer6XbOG15eKgwi7\nK4gNUPKpLde4EnVn4R5De/IqMgNzFGO+JMQgO/obrUuAYd46t4gHXkTPEJEa\nSH9wu8o8OHCa7yoJQ5E000dB6DxiiNAtonguQaRaYifChimQJ2UGg/2p/5rW\nLO2lM+APS8PyJvPdX4H6zqbKLcDj6yU76hd+559iaDP0PDVPgJzaAEZCgxuL\nUleiNZ47HhS92BjMtVHtft3yHNafbevO9ZfWkSUlnaeZLZtADbzBjFaabWr6\nLLJbAFvOmA4kz6ViqkQwDOB/d95MhDdzc6FSX0p1rxJMsfLbgAvpvpKEs8a4\nBScpiHg+6UBMF7WbHk829ILVnVpcIpmaS+NfroJsSNanVdQ7TAEIa+XsuN9a\niP406S41IhMO4NxJ2iu8dkUYKKnzwJ2WiRNg2Hp7/1L3RVg7/CXV1MokApTL\n7f3O0Npg51LVRQ8a3sFDp9bAkkzDTvIoAZe1ap2ZsM2ydBUNyDPVdFV45bOG\nlq+i\r\n=dbTJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"2f87e4af9a6f1e3c8f4c51b4f77860bd3150c8c6","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.13.4/node@v10.16.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.16.0","dependencies":{"apollo-datasource":"0.6.1","apollo-server-env":"2.4.1","apollo-server-errors":"2.3.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.1_1564051620970_0.19733733459633251","host":"s3://npm-registry-packages"}},"0.6.2":{"name":"apollo-datasource-rest","version":"0.6.2","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"2ebf88e09026e0ec78b8fb54d50a829c67c275f7","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.2.tgz","fileCount":22,"integrity":"sha512-oqq22HfmMXYDG5AeIHNW6sCkpHo5wUmkiBdidkhwdVyIXuM6RBb/iI48cIy2VRkjEBwTv91+Euxk0DCF7Uoodg==","signatures":[{"sig":"MEUCICSe96899jgwv67gjVqzzK788quVZg3PLAS66L2GSsPsAiEAqYnLxQwgVq5qa7KXJ7WyuT3Y3aUceGDeloRJNvmIGNQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":86910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZuTvCRA9TVsSAnZWagAABnMQAJh2tAMjeD9UACMyIp8e\ndE2sZqnDIQFHIGsnmMZHrBe2/p6NblEMTU554b9ytDU13ZqtZM1/XbAHt7xH\n/godCIFW2h/lu/sqtQSjYHjdLjrE38/SAaQWphjFtBzGjv92UJyUuEJmmdFW\n7PeT508KJscfhLM1I8/dIXa1FkKQ1YWw5gazc1zz8anRzatkF4TBj63OKtWi\nXLUxO6DClQpnvWXvx5IO97v/1OStNg1E2FYqsyMFyqVKj6Esh7x+n98/J1K/\nSkkq2AZwZsTaPZtN3npxoca9I3+UhnwumjHga/aAbf4s/tEg01ZYWA9fjAEB\nlh23iwoAdYqsIEuPTOxV6DyJEHqq9IFZQgbyr6L+uriyoH6RZKlQNen//+O8\nXFwlwNU73IGw/bzZzLaLMSUJ4gbgovgNZTT9W99pi1d7NcvwFR85U4Q5IGME\nnZlxg5c2vzh/NhUnHAaWoVhDodWRtbK4WsBbcAKRXRW7G1XDrXj7Vldfvqw/\nwjCEWT+CHP3W7qxpmkyjK1IYpRpXYuBSieKy66tdXpI4olRV4C60QyYBWP4o\nUXXw8AMSopvM5outxAyxLPSZsNwF2dEVlpv/msODEDof43NCeRRPLIfGiqEr\neay8DP7BsGwWgd5E01HBlbcLGinZd+jZhP+sJq5a1cXzCSyVUv+EhbUiMi2q\ntwHx\r\n=yMvv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"029c8dca3af812ee70589cdb6de749df3d2843d8","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.16.4/node@v11.14.0+x64 (darwin)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"11.14.0","dependencies":{"apollo-datasource":"0.6.2","apollo-server-env":"2.4.2","apollo-server-errors":"2.3.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.2_1567024367264_0.5487978694511055","host":"s3://npm-registry-packages"}},"0.6.3":{"name":"apollo-datasource-rest","version":"0.6.3","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.3","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"b5f42e4623c7cb4edfbaff296efc0b77f5e3e6d6","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.3.tgz","fileCount":22,"integrity":"sha512-WXIvfeiD241o67zKe4Vb7QEoycyRQMPYVgJ04ZJjANHjTmgkgMVBIK7InShSo/Rdzh58xC6HiQMw4LxYlU1AUg==","signatures":[{"sig":"MEQCICAyQui4jKOSuOeeuJxVCYWa7pEpuNb13xPVfYdBAlySAiBZ6V9vm8XPp1Qr0imQqdZ8n8kk7sAeOU/9apaE5VTQBA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":86915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaPT/CRA9TVsSAnZWagAALo0P/jE2NLKJDxoC/jS1vZ6r\n4gc3jYFJWExVownZo61JZIU2jQeFYBtoap81PEQ9SwJx5Bvwphr6U/eXdY9A\nhpQEA6WIRToT4HW4yZbXIWNZ+ZSJpI1K8mcKHSSwp78QaZXnJImIM046cwqo\nHw4G4HmrfWGBo5ZUswEb32BLvonkzIGjhV/IsqPZMdI5dx4e5cjmtyBNsQHQ\np9tLyF2ABSvKdprZ4sg7wQ32U+6UeaQoRZ1PNNsD5y6f2ixGWBaRj2Arg3bb\n1p9SeqEUA9TLJzpwUc/t3ltz7YtiVoDHDjLKRQopTth9ESJ9wMxAmQBerzWp\n3d/bmJgPs4149i+D0zBbai/kP5Xe3HgT+MTXszkfn88DBbRxQJl1SR1eMe4k\nlP8wS9lPBuL0q/b+F3pNJ21ZVTPCmk4bK0YrLwE3qGFkx2no7aGW+Ev96FnT\nNeaUGfE/o89nJAhuF1QUFHUGKp2BDRHlLgZEDYVOoJCoRA8WTrn14EJnVStc\n8Nxp+84FQKs7w0gzVSG+UCkIpXMiif9BsaKm4YdrVdcrLE3Wf3k3wvEkQBhj\nrKWkFjsr7WL/IGIk6m3ADyNTkF/ny1SvAScdD5dqiUnMihzPdRj93dspGLAw\nSaRkXtAHaCeLclzuYgXTxOR3IcWnygTNj4wJbD2PcFdFylDieGQAhdKvKl2q\nv+yN\r\n=vx0n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"92ea402a90bf9817c9b887707abbd77dcf5edcb4","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.2+x64 (darwin)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.16.2","dependencies":{"apollo-datasource":"^0.6.3","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.3.3","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.2.3"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.3_1567159550662_0.7532769464255473","host":"s3://npm-registry-packages"}},"0.6.4":{"name":"apollo-datasource-rest","version":"0.6.4","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.4","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"7d42d8b41e9e8d001ff4925df799c326f44eeb78","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.4.tgz","fileCount":22,"integrity":"sha512-jPPnJd+ZtGTjIDd2LpBrny/CJgg6DyW6jPc5dESdIxA829pNYDjKHugA59G0ZlgnFGbwzjM2h2Vemo+HifnUYA==","signatures":[{"sig":"MEYCIQD/2Bx+A81IxM+DgOtWWK97fLbl00SqSv7rDuzVzk+7ZwIhAMKuJk8xX+YDE7/0Qxyjkw8QPiiFkHuF3KGygzC7MWyS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbDxQCRA9TVsSAnZWagAAK4cQAIOd52gdjzBHJtDNu/Rl\nAltWGFJKwQsd9//DdBpdqmDR8rSKVgOmoZEmbWlwZ0/b2sxXlElu4QkEXrub\n9KlgQ87DmrzCdTMkLsBU4XmCRavWbcFc7XkvSGq2jIdtvGee3c2LbMDL2QTE\nVGfL1lkXFYZoaurmRfOr5E+TvzMCRV1QEqIBTGbTAeIy2nZ9Wp+/Nbo0anOr\nh1dGUq6vrq2OEEGr7nL6a/1DDACXRih4HNxlvBtHqff0a8pacACS/xERsNy/\nbknosGgSGPdFgfCJsfuUAaPBg8Gic8RjABnphuP4k77QOK4ptziLY1c6t3x2\n0gtZDyzPcGf6QSrKnKXUdAtu4k2B3XeImjcqm1qwpArVPLT1vG6iEnO+7XWw\n3oH6PxMfI4g4wgVv6pKMUCT07tExkEvg+mtT1xaYLzJAt1zSiDRMh+O6ZcWE\nQezDdaXr9c5HFWfC8r06oBsdJE1euIVk3w+8XS8oRvK9/bmHhB7XiFZRorA3\nH/gl0c4k7LQ+Oi454Z7Vqm8fmKBZ+D6Aq7Rgcbu/tLiP5xNVi532WDFzHl1X\nRzWSmTLCyySv3Hr/5zkJOhjYVob8II6C8dfQv+oHSXLQ48/7VSxBQmzd5EgS\nElwcNMu9zI3ND3EH1lfFA8mRHfpUbcHL3HSJ8jlvxJXUvSKK4J1wgiXnJv/7\nGwTf\r\n=yEUa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"a1fbf95fc01739d5cbaa59919149bb85c563fdaa","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.2+x64 (darwin)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.16.2","dependencies":{"apollo-datasource":"^0.6.3","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.3.3","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.2.4"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.4_1567374416079_0.7790408045519535","host":"s3://npm-registry-packages"}},"0.6.5":{"name":"apollo-datasource-rest","version":"0.6.5","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.5","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"8dbf9fd0f8300e5c30bdf6540d712defec84ee87","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.5.tgz","fileCount":22,"integrity":"sha512-Uf4lJPydiYv3qSwfwGJ4q3HFBPRzgKwbNpdDtxfJMxvagvontv2q6aCuneaxkCFx5YXjxfKeRC52twswxvDKgA==","signatures":[{"sig":"MEUCIQCvgJdMpwIgpNm+z0XRlI35RC07UUiGXz8/JvtmL+X1IQIgP/ixMJXn4iVi1/RrvILlxON5Pq3gR5GnAhjmLooE104=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnyDcCRA9TVsSAnZWagAA/7gQAKKZlnQoETE61ZtHnjKs\nsgH+cW6AEsuwIYirtMJvuPHYmePSmKo8Hres2TIAYRS13/2Vc86HusGGZuX3\nh4lFvWQlxI52d1wXHAmlbvH3NQO0pF1d+m1sJil2UdeZ5KhIIPTpWsz74TeY\nkdwc72OownBDgaawpgVnJLhu1dMFMtAmK5Yj5wNGxRhNwu0Qgg1R+vqN0y5P\nyRs3w5/uTxUsB/veXrsvHkZEvnw2XdY5ABX0LQ9b6nUF9Ug/TgMiqsQ+YSFd\nsnRrpmr6G3WgSUEeNK+0uBXFmXnCddWw/hxeSuasXCM1mgdZm9dpXl/kmnjn\n2DmgsVFg3vs8KCDqHZ3LpTuBTD/QeOWURUZ0VC2zOAvD4mFM0/aIbS3BLAxq\n/vhwRln5npYBZrCsJsUnOq3/Jtj1nvBR7vybzgDRkbCfJaX1Cn+MlZQA/Mqg\nlWy17BsYTe+ScAmZm3W+JHYqN5qiDbEppwo5ezURkxl7MfTFnXiuhDbkbxxS\nzZsyRDzR8H82X3j48BUsPvPeU2pXXalCvZhlNY5/C6anH0Xjbmkb0Mze1pYx\nPDuCOx3/KHsZnERIi7/11o2rG4WyEhN5pk8tqVXbt7Cn5fieoJxIIZC+mpJX\nLA2FTNEP7Z3dt1RkKufihnyOk4udABnDf/nVoM5HdJVBMcuRwDE7Eji77YSo\nO5qf\r\n=moJd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"fc7462ec5f8604bd6cba99aa9a377a9b8e045566","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.16.3","dependencies":{"apollo-datasource":"^0.6.3","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.3.3","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.2.5"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.5_1570709723742_0.1311569585708794","host":"s3://npm-registry-packages"}},"0.6.6":{"name":"apollo-datasource-rest","version":"0.6.6","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.6","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"f3dbec7b24df77b24dd54e5a1256feb024b962e0","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.6.tgz","fileCount":22,"integrity":"sha512-ZSB4d4KyTgONV7faS5SaSb6IGbCvPCcKnIHXnf02FuAg8iKfVi5iZdE1JkcsEggekZqEt3qIQk/f/VmTGfciVg==","signatures":[{"sig":"MEUCIGMOotkyC35YKDBv/MGRvEbB5rmvBGLsgTVtUk2R1sjoAiEAkAhuxoVGeUpUJqRdK6enk5QWXCQ9MxZp2Dm6qoxzOwk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrepGCRA9TVsSAnZWagAAXt8P/0Er1U0U4oNnSJ2ed+YT\nEM6eq9ZUbe6e/HwjO4A1+5MWXXkeUJ91YvLvwQ1PZ9QN8+f1DtGHYmiGjwUN\nJTAIErg0kv+EFsFMMftCJJW8JetOkfVFvNjHddL/AiJOBNY9iyRwgmb49cYd\npmdlD2KcqpCm85QYT85Gv5tqRxrxft3fvGMQTJuLkGfl/mx4FaifFsZiTbk2\n6h1RhxM/sVSFBuUU7HEBzZsCA2BHDETYXrH6yVUKnCG0KQNT30J6WvAsxftW\n49oAyIfUamxIyCqXQrQ98hC/Tl9rGmUNZVd2yQjLEWYG3aOo+lpfq78lGInS\ncZMJJ38+EDtVr5hAsrbZ6fjy1FaM3ExnIYlb0c++TfDSksvt9l8P/NyTLTfQ\nkV9QHk1zbNB3q7CkO/fQ/A53nkauizXXGf3bm99dn/vyg0Af6b5TTboRGSwr\n8TxJROg9ZN6Zmgl7BxOL5wecYZcTAGwSEIACOXu8kAp1mGOAhJlfb0jtlfTb\n8xsFAWhcf7gtgDxeO6GtcsGZsU/ksRUnU0n41VOVve7wKyUyYiiqTv8DxIyB\nDXpTIVNRtmVY7BaKEBES7IoHsIq/PnF7spYw4MJwTbz9TB0hdZtTS6o6u9ux\n1zG1AKTwLlD6/rs/1xrNoz0o0UBPKhf8lWSPxw8FwAANFjPSgO2iRP486DDF\nJs2R\r\n=qWWy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"5d94e986f04457ec17114791ee6db3ece4213dd8","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.17.0/node@v10.16.3+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.16.3","dependencies":{"apollo-datasource":"^0.6.3","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.3.4","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.2.5"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.6_1571678789961_0.08641537473340533","host":"s3://npm-registry-packages"}},"0.6.7":{"name":"apollo-datasource-rest","version":"0.6.7","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.7","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"42149c8fd89b8c841c4b4a2d014039b0afc26cc1","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.7.tgz","fileCount":22,"integrity":"sha512-YIeOEnYqnp4BM5Z6QFtYGnj3NwGI9NFlKyIpsKeokKSEY5yOsxz1crYVERS3vxID0mp6C8SVQDjbknNp/JEnaw==","signatures":[{"sig":"MEYCIQCIuqfEDmEMupFQfxBdhud7WcRatbubUA7/lBIkFv8M+QIhAPk47n5W2Oao0nG9G4UnzcubQrXsI6Hnsl9u+YyLPwza","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1b2tCRA9TVsSAnZWagAAFYgQAI5iCs9M+68bt/aRnJ8r\nJ1Oi99V2Sj3O1RDHpvL1kv9woHH9ahXWeOKTQO8jxnoDwnwNydKymkI1cdgJ\nwn8OGJHjkq9yaA3lGHeXjqdSFp5hZm+00Xe+tLnH8AEjDeIF20WXoYJ2X7TJ\nMbTkg6YMfHf8AwM51lDkFuVbQLkco3BVJGff8wcf7p1wYt1hqOnKs+dsu9nb\nklRRGP/Adz0iH27Va2lHmYtre3OZSWJamIOf4Lr8Mb8t3bXdbhvzn4iCMpWA\nZg877aDmaRa3X1QGqh3L9f2buT8IhXvp+NadNaTqf+mxRVhM6GZhCwcsQ/Ke\nnrnqPbI3Na2xqvFt8cW2DMrVpuuD+nms3owLJMNmhAxYt44QasVCb58kal8b\nvtXk8liduhm4ThN1EssfCJB5aaSApSpg8PVHo9zL4RnETTzppYn69Vgf67SS\n8pWrPSXiX13+X2JP47Nk50o8NBO5XMwQppGHgMSG7nLmea2GuOSBCMRvh3L5\nr28g5qvWO4dYF4D6Ad1Pe4sYAQAYoK1P/g7pm3/EU3UbzovUaH9BOV9eCLrO\nbGoQRw5eHDFZLJxuGwayIrrDLck/twdY7wJTrtxLnuJONslbFbE5vgAbXT86\nZzPFQtrZzhdkkCcizlFqoLNHUW5LDC6v2HUY1zzixChfUbACKj6FooLc9tz5\nJi3h\r\n=oV22\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"2a4c654986a158aaccf947ee56a4bfc48a3173c7","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.17.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.17.0","dependencies":{"apollo-datasource":"^0.6.3","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.3.4","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.7_1574288813537_0.7806130675877947","host":"s3://npm-registry-packages"}},"0.6.8":{"name":"apollo-datasource-rest","version":"0.6.8","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.8","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"a525bfcb1b3729a988dd108d6a84e50ca3afc8f1","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.8.tgz","fileCount":22,"integrity":"sha512-b7oYh8/spNA3bT1rvwy98D+RDrWW70imG1qievWUBMPMMnXXAy6RNN5O5GqnMSpxS9zDtsbC702HKL5lx8+Pyw==","signatures":[{"sig":"MEUCIAmQiE2vOY7PvnDUArU/BlQPi9qiZUPkOA2GGIBFt2H/AiEAnMcm5UHjrKPuDyp5vlORHBgZ3BlAjOHwkNfZjZDCkdA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1cxXCRA9TVsSAnZWagAA2AoP+QBqXRgkl326J3xvFlJy\ndxOTO6Edmea38oLGC3PbDsVxFsJhCzaNxAa2Dk1lsfmRT4ORWeou1Jo5oaCI\n3b2vTWLA30xBedydK23N9XKF8K7e6GY/+5iqWh9sfpEdyz5sjQ8EyFPxgCIg\nwaUnm5+R0z6EIYT9PxxeSdV1t/g90mTBmn84QlH/e0nsUZryuAxjgCusZbiq\nwnvWGiDAeT0t/6j6KIzJKHrWguLnyc+tMpHA0i/dotvDL4EFuV6C90gVfOVD\nQlUj1Tlc6FiU8D/6PDFOGXOJQaFX+7zz+UqU/Adxo7bJ5zCeL9jDkpWH3Z2l\nsEFIQVDFjgG/HDk0gkAQgq+2psV6gek4zqmO/iQwuvPo1ytU5vXD03ZIkYPk\nJTh2E5uYGBKzKAYZQqS/WYXdIGrTQUAEb6F5gFzW40nDNoI495pv603qY0kf\nZoI1f3cGlEQleD5RV5ozvFS2Yt2Fh8u77jju9x0iSUj4T8xBo3YmDaH13g+D\nK3j1MVcXar8m7OpkujXTEKLbhqO6gUsndmaoYOIvVpVhrym98l6NcUn9PrRG\nyhK4yaWEWlSH6VlkMcsU6nLj7EqTNWtOBnJkbmbCHgBQMU/jYlqzoVsAAliP\nCsFrXl8bfKi2OmXZyhZiLOYcoZW7DrXhb3ehRuByOxCXsK6WhK06fhbXh/ZB\nFu9l\r\n=XxbI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"d49e4d2038df4f5aae824a98ddb21dca909051a9","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.17.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.17.0","dependencies":{"apollo-datasource":"^0.6.3","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.3.4","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.2.7"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.8_1574292567376_0.5298510278388764","host":"s3://npm-registry-packages"}},"0.6.9":{"name":"apollo-datasource-rest","version":"0.6.9","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.9","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"2a46d2972e97a83341ded7ca2d59d1a173a23cd6","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.9.tgz","fileCount":22,"integrity":"sha512-57B1R/V1UrSglfJsQLeRmhIuCin4318mD9flz4u41ppz76maFfi0gMBNTKX9d7vwtpDz0g/ExBauawzoE+a6RQ==","signatures":[{"sig":"MEUCIQDfSX7WOvHVEZblKX+eiIYsnN4Hye95a2wyv7K8Av3bZAIgWqdt43XOyNNjavxvvm/Voy0TZTMQTHqhkOAV5R+BpTI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1tDkCRA9TVsSAnZWagAAwSMP/R3D7CuWfU8jL/kqKHP4\nEVU/db0sa1AJXwrm/D+vDqi1qPUcBlr44pVjRpc51TF6t60KZeJEPX9KZD01\n2JI/JOjEJif8Z2FYlNVL0YRjqaOCIOzIGFKYQPV7lsFwr7UGNkTe8hXXPHHF\nmKyF6eXMmMoavsGgeKdUdpZSU5ynjRXM9YIQ5xnw9nAMbtVdF2dsJoiY2oXc\nlvNfRbmE9fK8iR1ircw2VdzXdExPOuFbHaAVXjPmWmhAw+wO7NHCNM1wvSBT\nwvY7L9duvHAV47yhUN0dlyq/i6Ie1IIiXOVZUcIwfagAkvjO+JLG5FNf2sFJ\nlLEg7wM/Un0VoKyQNibU1LJ2jGrRr+Ft7fgqCHoddinBzSmT1Sjw4vC3S9ji\nKArqWGcUKkyznLeksSIzStv6zdbCPEFwbJXJ9oke07G2feq06542vNgr85c7\nLf1Et9LrCPn6Q4DbKCofMGgYfGR0pKqeIiabaUcma9pq93uvkDMdAPFWsiYn\nI6WN/eaNZHfEN01JE03xcBcLsEA7iHfLsMyxKO9e+4jYAyzv5QARpltrfsiI\n3qflxXyvtiQNxOlGqZAFbWPlI+pVu9PIt0DJU9ieQZbqzdONbO5vIfa/kLWC\nSDybJxrcxSMJusE1b1WpAStvySy8Gvs4lJvOqpY9k1FqSzOVINmxUItka3pS\n41sC\r\n=wa4p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"8d065d8b8b7f35f814695e74f5c685b7d68d5e00","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.18.4/node@v10.17.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.17.0","dependencies":{"apollo-datasource":"^0.6.3","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.3.4","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.2.8"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.9_1574359267656_0.6864810683161411","host":"s3://npm-registry-packages"}},"0.6.10":{"name":"apollo-datasource-rest","version":"0.6.10","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.10","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"b7cb5cd5a8c2897a91c91de99944047eab05d08c","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.10.tgz","fileCount":22,"integrity":"sha512-asdi8ct/wGYA/Yl+/jOD7lWsuMNhWldaUtbFFuBKXD0XVLeGpCF/0q7UXthy/UpxW269wlgK8FJ3NkVAGJOndA==","signatures":[{"sig":"MEQCICV069wvMklYDQcsNQw70S/L0eTsdFb6cgfs+nRZv/QLAiBMfu+GFJII2563IAh2jwESE61Yf/BVCbuzsHeR3qb9aA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+MjYCRA9TVsSAnZWagAAidoP/1OW1lxIjXlMITUkoT9x\nEUQ5pyB4kFOuLDiWcw6DMEPcFC4icS/wWItMeBsxJhSJoImEkQS4Xfne9RDD\nXC2uuoBb/zNsRwCGCGQCx6bh5gWOmFe0qTKw1Cc84aft6meZgpF2iuylrzle\nUq3kKQJATsYqkLhzCi9hE86bDW8dTrJDXxOXacTtZDJ9xZyHA/uAC0axRcYu\n0LYi6Rw1+yM7+lei/nQ3fU0TpUnW6X1IMbCgY4zKOMKy4cJjtTLCCEPI3C8B\n0tyNtqxaRCKNrpryM6w6wnuYLxG6i6l7eL9cv0GGyqOfm4kBsS9inF/kVbBk\nwj4qHVy82xyQqIz2206gwRIpYJhehtcVfyq5nodsEO8FiSSZKicLQoFd9GHU\n/pwoU0OmhtN9LBM+rDjZSl68hjgoMFsmxGoT4CQRDRfyZW+aegwV7s2MXTc0\noxaXgbGr5i/kZ8XvvMwetHFd/uJYmxp35EvEH7SQaUm3Jzd3GDojJxlnK4Yq\nAeILXR7pL1Cuj6NTNo+3/EfmY/uWqPQ2tHiYjIAC9czwVyFkZE1BhOwolZcV\nUclMY9tO0kOUjynNdUAzr7pFDV/8A26nqvnCaOGERiviorrM0jEF6/A5rrcY\nhZqPlRmvOCqAZn8jX9L1jLpU8KSGNT+E2PCPa9U1Z2CYymKvZ3ROuaqS2Wyr\nc1uq\r\n=iggy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"ad5eac5ea1741142122e4cb8fd34a9748be31e89","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.19.0/node@v10.17.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.17.0","dependencies":{"apollo-datasource":"^0.6.3","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.3.4","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.2.9"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.10_1576585431441_0.6520125100603977","host":"s3://npm-registry-packages"}},"0.6.11":{"name":"apollo-datasource-rest","version":"0.6.11","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.6.11","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"a016e57bc6ad83eea5e219bcda9648dc9e1e6f28","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.6.11.tgz","fileCount":22,"integrity":"sha512-AiHK8ECxsU1mDSeRPVD4P9gpE6sI5nVdfnIlX8Ycbhs4Pqb6SSbPPGVt3HCqelxSYZPfmjNBAjEbNqGaaN1Brg==","signatures":[{"sig":"MEQCIBi+zULvjtTBo4cZLxXfHQuUBhxf+4u9qFtY9R6sfnylAiBigzYfinDieMW0NOP/6r5kcqTC7SYRlQXFy4Y0lOjORg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeBfS9CRA9TVsSAnZWagAAeD0P+QB35PK97DhFF/3KCiWL\nQamhgnvaZs+EeA6ak/T2A2bCdLQsBtY0yLUBWpc582xUh/Hc25YbUCPceJb1\nvjGL1n9nwAtBhXADHU7kqCp8roCTJv8w/ClSnM31TxrUFVxNCk1v6H0hDmIV\nnk7Qy53Xa2O5/zypI2/hYcZdsRkdhnSRL65CsNzLNl9dy+khVpHcLxJ0+NGW\nwa9YuwviNsnCeRvMDdup7whK336C3VNUzouIVyKHJr6eI/wqSkRL4xwYUgvT\nI2FOjhQxJWk688NAWumpNfsw4iDqD5t581QgZz+/Ttre6rOqotwGnceKCfT/\n1akX9xg+HlA36NPtqmx9EUBle7sxOFZgG/c5iRBuvLER/kYWBpRhRSdMFehV\nBZpjr0GFpccmCgqyNlhfaZjoXrOx2klP/YkRgGT7I2Jla2sKvs7BzGeCgOAY\nSuymMtpdzoiElcMZN7MxdmMQ+/XqbBDdO/EbhZ1zjE+D94NLFPB1wpj71u/H\nKqQYGPgjChSiTTBzsvJidyfO+T5fya5s/aM/TsGAYAfsAfRDrQCrZdXkARLr\nwWjv9x1711c96LmAEiVdR+frPtstKD2BaqoEhhstgTrxGk1FkinVrW64+WW0\nxZDANXKlfTjNSnYIbKa4HMI2z9QwXLtZxTrkl1c1OwWBw6XUUCqwnIFy1N82\nRACj\r\n=pap5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"0743d6b2f1737758cf09e80d2086917772bc00c9","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.19.0/node@v10.18.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.18.0","dependencies":{"apollo-datasource":"^0.6.4","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.3.4","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.2.10"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.6.11_1577448637276_0.4835619116025671","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"apollo-datasource-rest","version":"0.7.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.7.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"06912ef4f2542862d07b4e0de329d3f7fc407a05","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.7.0.tgz","fileCount":22,"integrity":"sha512-lAYgm2GyUxnpKcZvReyCvNrQ8asEGy9yr9UB7xyFSCwdhgt8hvx92eYUD4z1KgRp8yOrainIOQxFkh8/SvPt6A==","signatures":[{"sig":"MEUCIQDpEoaR0U2YvkcNxhOVlS2oY62nica96rKDp9Ax3HIbTQIgOCF/s2znN5RWsMV2T0QFi9IeN5Nvh7/OttKRXh6Kc/c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePAfhCRA9TVsSAnZWagAAvFYP/i+kR9rJbxBETRlY1UcD\nd4L5HumoY4GddT0V2I1NCsTgIKh0eAFDAgfX9bEakcFsLpSS81/qdVRqBuoX\nvD15HL3I1AclzKHU79ss+BP1UXg+fDhjc6y2jrvtAtfm6u4vyZkNr6/+PV4Y\nO+5LEXJbLB5PayxWRsfFjRH21E4PQ/QATM0y3OtDfKfhdIh5OGEHNVjw6zD7\nPibhrx5ND4QnU0QuQPI4i1K8nMrgMtkTpq4tb8rudAUt+HvOaNyrGny1TrGV\nDy34118p7+cGELRxOrpzUd+BxuT1QIVBhMJaoelCRdWT/QCS/uXkb3FEmFJE\naGWN/fsic5di5e6Hun1tdz+lLfWffpq+TNjkWboeuJDsAi8m++9h8Y9u5iU5\nO/p5nz5kQGGz+34ILPfkNuFKLDQt/j3D0o09bMyKsLSG1mGnEXh16kvsXqF6\n1MTuRyRwrHoEZ1OtNpKuSAM3leG65F8/5nbtYIqVCU77ezhBxzB2SPYkav90\nnqWW4YCe5HjfrQrNDaU8XlMHJ1/dlfTCHf/n/XUDR/gJT/LlSzfrokgJkp/0\n7HPyJf8N6pXlmhgH9LhqrvKf4UiyPnSd1Q9u/mkCqmQTVvSelggagjhSE6q8\nzlNj+VtsemJg1/Y3/ksg/5yRFpMjyIc477rUq6TyjFiIiHIpGixtk2Vew4VD\n5bX6\r\n=nXF6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"9c0aa1e661ccc2c5a1471b781102637dd47e21b1","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.18.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.18.1","dependencies":{"apollo-datasource":"^0.7.0","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.3.4","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.2.10"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.7.0_1580992481186_0.6964075537569283","host":"s3://npm-registry-packages"}},"0.8.0-alpha.1":{"name":"apollo-datasource-rest","version":"0.8.0-alpha.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.8.0-alpha.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"94231bf4234be4d7daf2b54f91dc0e8ef961ca6e","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.8.0-alpha.1.tgz","fileCount":22,"integrity":"sha512-kx/MkPaByKE1yqagf/5sbXj37MZKER+E+0X3AvSZAA/iBxlCjAhftCO7wcYVrhaEYBWbDN9s3hbOghjpmFt8jQ==","signatures":[{"sig":"MEUCIQD3+Dk7tLVtDLU/S2Y4ojXt+BUvdKEnBe36yA3dpmJ2ygIgYMjyq5VaW8U3riXCNKysPfPpdC+xhCvYwx23OCbaRB4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeU+unCRA9TVsSAnZWagAAso8P/iO2x0LSvZNGn0nlm1Zi\nA3CDy1K64ha8F189tPGAfnlxjbOgCG+ULjrqbhaEXq76PeyBVmAWqf6GDRDr\nYeTQVXXJPyjSE2NWKc9m66cr8b1xIZj4n73AR0aNQ3DHP4/fA2/5i+K4szLy\nNriwgjGTVGUjvU5uvE1CYrn0yMHXFii19+taxIV7NmCWk35CfWgu85LhRwZt\nyMrscLQ32qgrp+eNEvdwbrcBarAdI+UFK5EBQX7n4A32Q9L1rLe+GOMcgj/L\no5y1nOLtxpmjGaCjcy8y7Y5/UszBzDs3rQdqBcKlkpDFXkOrUOuJ/jG/BJB6\nFd9oLXZJN5kGQgQl1ebRrNUKy9JDGiDNrk0xb87mtjNYMIGrSTazZ6u61U47\n1kBKxJABIig4RB6gTgHIb1fZVNeYhqJrBjmxfRAZHV55St1v26hgmIQhPKz/\nR4AIV1Us+XSS0g2KegkcWu6eESlKC/nY2ThFBjFWki1L/MYIz754Y4PCeLV3\nfS+VmhSI4KNrj41WA6CSSALsAhCcKwSkWN6vtFAHaHEe21wZKcUcXS1QJDj8\nLUM4lMujHGW6LW567Qztb14LESMn74jt5APGeMTjshFrZJ6B5A2OOoXhrwvw\ndIgeBXa+ESsMZuqZODyFM1J5oS7JfPXBiK5bcUBQx7iKSrJNTgnBlXVYlj0g\nsY6c\r\n=oHT6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"a07ce0fba5a78d6e1a3c0a08dfda1b449e6c16e0","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.19.0","dependencies":{"apollo-datasource":"^0.7.0","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.4.0-alpha.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.3.0-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.8.0-alpha.1_1582558118519_0.7853490665034022","host":"s3://npm-registry-packages"}},"0.8.0":{"name":"apollo-datasource-rest","version":"0.8.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.8.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"edb9c319bf569f42fe7b36c96332900e33bba1ad","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.8.0.tgz","fileCount":22,"integrity":"sha512-eM/Ya4FUrKbd6+GaAPe2lIeK9/69YA8N/SIASeNlnqpox92IjQEvw8cBo/BOQccwyoA8pzxxn4soraUBiPZ8Hw==","signatures":[{"sig":"MEUCIQDh4wocTX2J6rZCTzTJG1Oi1uSmPKWID4Pj4LUO7xavdAIgZLfkhYtOqvBJlL08WyA4hCwzIbOGvijpo+4pQfmt+lM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXpcLCRA9TVsSAnZWagAAqS8QAJuYUyPuQgT7yC5iN9rV\n8FhctYQffCXlOCRKX8CXu1VDbTzN+zLvhcKJ21RubZIdSf2i8j44XKfT23pB\nMNIWNZXFM9hLd7E/6HqnnKlM7vlJmg06dmi9nu5IfbkuZLmdtyKSjWj5ORq6\nnxfNj0cBA595wtNyGUG9zfVdnNZea9+XjcxipAEwpmPwuH93/ZIgXtd5fi31\ndi8b29n6n1Cw6+lCCD3ttNAHfEnVZc8reDqgpg2FpTLCi6MZP0TyEHmKldfG\nBmotZycz5DtG3JTwyBQpDTCnF2vjGPBfp0qq+UrVtnQlyadQUXChzEdwAR9a\nHMi0B7fWcCwPEj4qHI89zOgrcO8AWSMPPHIRkpSLTJtoYmeZEr//bS4OVSPq\nbpE3mkYFi3p1deo1bih9VIo6R7Ut06qTnlSHamBC2SEZk/OGZjrHaKJlUDVe\ngfbgJZ4/5krypvRdZNArwGXrKEu2lxreSwhL9Kdk6e8HdhzVFFeMmJJ5VEzS\nPbTZT1q61Ayy2MSoE9J4PstI/KdRHa5hjJ7Zpx5h5csoGhbMQ3+PlrSqMBND\nkcXDmYjcEyAkBzzpdfq9A0XCkykTG4CkwxDtJ5My5wjWKIlsyu3gh9CMW40S\nMlSkIz6u10KFpmAwPXduT9vGx4qvsvSyuzVpiD0pvojvKJquKp0o9oEvcAr/\nNFBf\r\n=5svA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"056f083ddaf116633e6f759a2b3d69248bb18f66","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.19.0","dependencies":{"apollo-datasource":"^0.7.0","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.4.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.8.0_1583257355219_0.7137646486620499","host":"s3://npm-registry-packages"}},"0.8.1-alpha.1":{"name":"apollo-datasource-rest","version":"0.8.1-alpha.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.8.1-alpha.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"50aaa3fc1808b696395c0eb3a557b420f352790a","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.8.1-alpha.1.tgz","fileCount":22,"integrity":"sha512-HFhqD2Lf4aCkIvx/9i5kKj++DMa0y+zbyBe1mEXQQhZ/Of9iz8Ej03v4Jk/YegwYR+EiQWaF+wsMkCWnT3uq7Q==","signatures":[{"sig":"MEUCIQC4FA9+QRqvw5cGW/7wFv7rutdri1ztO2ulhq8pbzwy4AIgGQkmuoEOBS4+Lz6vy6v/LRH9Qf9cMMODOGTAQLNvN8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecmOdCRA9TVsSAnZWagAA600QAJeK+XoV0B8eWItMJrKx\njUfx2ZOazKz36Gl5p64X6Wz53Q4xh+0DixqDEZGDAiO+XLvLSMSvn5XYaO/A\nHJwFFXgUbrdxvxA85xGd5Zo8BGEMh3fyMKmEc/GWEfnVfjPNgqirbaUfyZK+\nYRa6q7vaO6mzpHvee4O+M9fqUS2IFpaNkMMEI32DD46r3rsXCsqwNbRwwMlN\n2Lv83rxmEGafwr6BpW1wHoTaYcgryjZ1tlYUKsa5OTS4p8duYEffMZMYCurw\nSGIEjp5GbHTzHqUVgz7zWgxqjPxLelsrjQT98cK9dTOs3rcOzILD/S90HENV\n9UfD0lexzk/Fu8glj8Afi/Bv3+KQRel4ci+i8RxnjbY/xIrqs0ns51P1CK3T\nWptb/3JMax5801tRG+XL1SrBZVO/sYOByBAFyFcI3IbrHiGhxJ7a445NqayA\ng+kLo44U8/9uAeTxXqU1qSUwKvb4y4paZ8XcaGbwQa6k8Vw8Lb55T4Fk/8J3\nklvyUyQh42FFx9DRLgXWdK7/C+lAVdyBDvrTibopTFwqkj9E/OuioH5B05Py\niarnobG4UpN25kJQYYwtZovHStSjrr1muzmKrnPr7Dn6+lWdatWQZKkiAbO5\ntW5X1Ock7UEawvkTxC/mfOoG6V1HU1hZBgCniOVkR3ImZsaWlQuCJ+Kpu/wC\nEpd7\r\n=racW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"7422d70e19576f7e34aa289c535325552881a17f","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.19.0","dependencies":{"apollo-datasource":"^0.7.0","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.4.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.3.1-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.8.1-alpha.1_1584554908695_0.772454361805313","host":"s3://npm-registry-packages"}},"0.8.1-alpha.3":{"name":"apollo-datasource-rest","version":"0.8.1-alpha.3","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.8.1-alpha.3","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"73f36869f8e67dbc4f15ab90bc8bc5b0db853ba1","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.8.1-alpha.3.tgz","fileCount":22,"integrity":"sha512-l4hfwM0uBU/vj9ILHa4pS2TQ3bWTqmWbphW1WsXHholqqPI/EYJgPzAE72qLpWdwO/0ywwEIhBBxZ4z7A0Rr1Q==","signatures":[{"sig":"MEYCIQDalrxOOL/8z1NaiPAgGHnLwiS/C6cD1a+LHwE9/aD3ywIhAOjRjGAd+j326q+1Q/GrUdEEJQkOSpC/vhg3RXPL/4j4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefKqFCRA9TVsSAnZWagAAwksP/3Gxgo8uQ8LfPF9ESAIJ\nwhdpd3mPGJ2tlFvqJVwg5pODzCfeJmL9hEx177tY0frUKcOLRq9Wxeu1tGia\nPNylEKpsTZUwplmuMWfGNMDs9yrM9chIO4xlhnCJ9acICQtc0iUI8c7+WtDv\ns6Y0woqwTBHyXrLisry6ehNbBhfp4f2DpvGeeu2PTAps2qj7Yy8ihabQPRMD\nh4DVhT5wCKgHPnOt/YvpoYDi4VLhkCrZ9WISPFS00bzl1p/vK+WKAEdrfIk9\nWiPrJy0MjvAr9jCWFxDFla+fgI98lRO+6AGEHqj4YcerT4x69uUmJ8liTPHJ\nZh5PTTrOxP2vZ5BS6HCf2FWk3oY9NAWRtXwzma+Fe5omaAeZ/njiT5MDvCff\nEHeAF6gEWZ5WCPt2u/3HJhXDbPbnFZ7GP7X9pNq+BfOheA8+bChf4Yc+ISG5\nXZgKQFcF7lF5fBGouBWwzDy1avweQ8UuBOh9HEXP8qyiUx/SABSZoBxG/KoN\npnuM7PTT5Nxxy+/rNk1lDjIcwhHI7wCUdz0cSzBQeORDpBNp41IdGITjFXBb\nx14rhWc5xm4gsjjgsTGs8/mvDLPa/TR87o4sOkYV0uD9GdkUgjduVVXqDzk6\n7Qsbdwph5c+rRfx+Qeezd8CF6RGM8uX7kgd8HmnOuniwDO9XoHjtZO2/Wq+E\nmKKC\r\n=beKp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"3eaed42548ad524129601263b4b2d8e3d7b65d27","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.19.0","dependencies":{"apollo-datasource":"^0.7.0","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.4.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.3.1-alpha.3"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.8.1-alpha.3_1585228421005_0.36995754760788757","host":"s3://npm-registry-packages"}},"0.8.1-alpha.4":{"name":"apollo-datasource-rest","version":"0.8.1-alpha.4","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.8.1-alpha.4","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"17c15a900c0ad20801d03b0f33ff6077fd2782a2","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.8.1-alpha.4.tgz","fileCount":22,"integrity":"sha512-NM15JOyDkQQdLfBe691DAz1oJifZGdETGmj1YwyMbQJISTZSq6ApfMwMioHx5jrYaIkD/Amut1YcvvuzndIw1Q==","signatures":[{"sig":"MEYCIQDSpyyy374veuiU1vTTLnaiR239iVUKsxHj8L8zoGljNwIhANSBUEbe4teKIoRYLw6qD9xQPmcHC3Ns2ES0Ul4PUCYv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefLP+CRA9TVsSAnZWagAAgZIQAIjYb6CORooNmj7jn44w\nR4YQzMXNOpvhpK82n19tzHGv7IeCCdTst9TYCjgFpCLJ4O/4HUemxJlArv0O\nr7IjrZWbPEM5a1KLucz/fzcNnnHygR8PaiF+4mCDcEjnjNXKdKwvBV3oXVMM\nKmFvCuiTw3FPKfILa8QK/2xUdQdMwZirysls+jUEBF4X/uugAFeG9CrIqLds\nmDqiQAiUD1pb7W4H77oKZl6lLalVNW02jyZxVmNnNkcjVYxCfAdosMz7eG0w\nW76c8RrQq4bgtVB8ONufiKde8AhqRmNrzVEZRXQZGcDbzhSczUBmoPnidb+3\nOhtxSbMSdqnKzSvURZD8ZPzKIE/PQhLImDGM1RaZxPrzpymHmosXunO7tn3r\ncmW4x5EQrK/Gub88QAXGrP+CmDMpi1YfXzEA2EWfTZrZGJ9xX6y2D9FutrWl\n+u2CMT4YUXRq6LU2WS1bQsv5nZh2MlCKF9n+wcrggmINem/xKOpWfPfT2zVm\no35ZnSMxpbDISpMpQ2bl2K6WKC+ZdT9kffduKoNE6IoSldGbQT0lDPp+nSzO\nfnaO+ZWydpfbcmhAcb6gpObrGCjNcwj84Jo7K/dWJCxh30IPZYCvISJz+Us/\noJBQjYoBcT7yQGZAVPwu0Zqhvi0X108qEklu+x4gzsRZWmgwkTRYW1AllVWz\nLh37\r\n=TtYY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"a6189b32fec3f1ea1ee717e59d89c8137797aa50","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.19.0","dependencies":{"apollo-datasource":"^0.7.0","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.4.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.3.1-alpha.4"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.8.1-alpha.4_1585230845880_0.44926570288292567","host":"s3://npm-registry-packages"}},"0.8.1-alpha.5":{"name":"apollo-datasource-rest","version":"0.8.1-alpha.5","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.8.1-alpha.5","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"2be32e651b534f2ab45252964aade796c433991b","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.8.1-alpha.5.tgz","fileCount":22,"integrity":"sha512-p5bRmT0gOqVlSMs9vy6LrOU0TFbHPJYSfgLBI+VvxVZy1Q2dA1WYF0/h+nJ5SLnFNrANcUNPT05sG5q4p37kqA==","signatures":[{"sig":"MEYCIQCIYIPqHYOJ4Y75WV5M/a8o6R9eEL2lCl3gE4kh2+6s8gIhAN7/+ROHjeYYK/yZccmShhPu+b4lbJPnK8MG82de5xPj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehnDHCRA9TVsSAnZWagAA6eUP/iQ0sRTk/Ci7urUevWHn\n4XcCSlJR4xwUi9MbFWpAIeq2TDPB1tONmC/8+Ps0AEom2E/8PxKoljvGf9MD\nw72+rREIbKnt2Gt9SlF86ZquT8nTka+/70iV4qy0VAB3jMc2vgv/Q3ifMV22\ndG2N7+txLTioeyQnDMpk5KY2W2EGbeCwJEgP0GtyWtzBU33x0wEP91+bjb0u\nas4oUlSEYXn3bJJZVeTpQZDKHXmKXkqvR6OCYTV7B5LFLpWcol68ZCpOOH9f\nMYNZJLys/lAqLOk16lz5HuCUDYUvk7JKaKpH4a30sZ4HuLwPl1Xo9GsoTc6N\nYEdH4Ms+iJ4AH0X3wv73ZL1FIb6edJPFiMtcZY88DGKK6kMVzFYmvttZSZou\nbG11/Rpf0gMdrxbpBidTIm8lCSiH5SjUX5/uE9MH0wx4UKTpm5PqDrGoYbUr\nDA1GYb1VQHqzhc9T5SU6S+3DjjPqSJJLBbz848N8PVEnqO8iIJE4ni8kf1Jw\ncYxJWXE9DYYX1lUy04kwavlth6dPR/nTRZBP0hzJ9qE01aEseOYLaELmVfQF\n8fJqTF6h/pZxeqgQyDT1NzoP33GaRHeqcme6Qs50ifUjbg+cC3nBIQZYwBVx\nyKc7wW51o+7md9cfKjBr1J2ll45Cn/XsiWj6CjkwJqeeG2q9RFfuxtEO5FoP\nFayD\r\n=c8Jo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"c69557b0e94e15ab2ddd031ec46f20f58cbcb96f","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.19.0","dependencies":{"apollo-datasource":"^0.7.0","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.4.1-alpha.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.3.1-alpha.5"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.8.1-alpha.5_1585868999106_0.424166641092232","host":"s3://npm-registry-packages"}},"0.8.1":{"name":"apollo-datasource-rest","version":"0.8.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.8.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"362ccb24d1307f873ccd5fcd8e6d1778cfa5d657","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.8.1.tgz","fileCount":22,"integrity":"sha512-vbpkw6DJ+UByxyx8Fq/hqm3Wqe+gSRBf1qvan7uoWfh5/ScTDmLLfRSyyBW8rjLc9/MEs5utl0vWy6Do+5I3GA==","signatures":[{"sig":"MEQCIHU8u4fxH6j1yYLhiwgUaDFMJgDnt3mm/WfXT3bIKVgtAiAbnrcg+WNmbVkTG6JQU2qEI25SPU5DW0UNY/PEamJFcA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejMgoCRA9TVsSAnZWagAAEGwP+wdRxfKDHUAXLrN5iCmN\nFGWO6VqmIHvdNkDid/yhxvxKWtGseXsYNF6dknzihqUPANIzvbBvn5Bf1tM7\n8nbfbPNBp3BECPfToHXCw1YOnH/H5QilIanm3j6omKovDAdp5lhFKugCNqXc\ne+tM2iPWtcBByuLb5Z1TzyP9L4pjMKkXXotfUBVUldOU4qLn/aDaC1kjJdW2\nAid6M3vJFQNJcNZ7jn3SHNVxFahNJtTz84l8Cwq242muPYL0j9XewA2Vd2BE\nAogVt3rQtsW7RjXpWP8NKWt72sWYualbkyNdnmv55LlH8dJohsXNKyAGJ7Up\nctI8rOw2PHLRg4brm+XFD+71em4sL3mzckBAISBvQ8l1tN7hD+rWaTKoYQ6c\nc9bxHMHmOhDKGOf5fUK8AuLv6ryohqG96kLGQtittFkweJLoQ/r5DUXCweJg\nb9ZUbI+IOAJBgzgkOJXf1k9Tg2QtKmGuGibwtvwOymu8EzSYFXK3SS/6LuBL\n+hQZRTawhyZ3M8TQP+OnpJBpGSX86NMXtwT28Z+eUYwnrxa70Qz7xNEbgG0q\n7KAZwILMHcZ+dmXdYwIa9JIhUJM7u65vW/3h596ILi6mk8bjWu+8l5C4cqsz\ndmLOxmIjWDdrbqXPKuAZNCgwEc5ohOm0CI1qzfGIVZjAJYkCeYng34qH67Z7\nHw0z\r\n=y+Eg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"71a3863f59f4ab2c9052c316479d94c6708c4309","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.19.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.19.0","dependencies":{"apollo-datasource":"^0.7.0","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.4.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.3.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.8.1_1586284583992_0.7569402818061359","host":"s3://npm-registry-packages"}},"0.9.0-alpha.0":{"name":"apollo-datasource-rest","version":"0.9.0-alpha.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"2e6f7361c22a0f280f51fa6fc269b55404bddba1","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.0-alpha.0.tgz","fileCount":23,"integrity":"sha512-tZOWGxFhLBBUl5GRGWnSvUnBmxS+Y4q1yP5+09ru+LONT/IcvnVbl5wFqicuOTpI10vQox3vO8mjF0CgTEq4Jw==","signatures":[{"sig":"MEUCIHU/dfio+N7FsUmY7TbYZe2z/AWHZ0lUuA8IOjl91SxmAiEAthlFhJbKHXpCbNEMCYoyZHELIG/QEBsyh60ZZSAmhX4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87528,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekGMqCRA9TVsSAnZWagAAbqMP/iI1E4csOKoSz/59zJr5\nRePTM4YDodM3+YRw1H+6BgBbu7Ll/H4fPVNVM6xs5NX9/+CgPWlgVIoO9JMa\n7FqPBY5EpMRr8XzTInLlFXJ5Jb6htZr+37HchpFhSDdTIBYprihEVYDWWO7M\np6esbqyF6MHyxKKRFvHCcug2jdo3uzHT9sOn4d2PwwoTNJakup0YisuuXIuS\nGwsH0T/zse1fqABYee5x13Di7gTateMEgnJqNK0294E03pHvuuWaSPkYUA4J\nLl+KIrUcswXwEmafxSfBwHMbV93t2QUPxbHqs7S9XQengRh4ijNUbFLM4RUb\nwK+RZ1HY7O5QWgM4Xrpq6j9CzXomAFLlgbQCRMwL7ZO3WinXSEFtLsaBrjuD\nMitGil/X5Fn7nDqCJ/VyjF5OJrK9Ra7XlIB4iSnT96kE7gAg7cLpvrPPcI86\nOY+xWBvJx9AjsUaLxc9QC8m6tdtpE9W6eeJaYdHci9Xl5WFBPbr3EjNQ82dO\ng+kAzZWatR/cWbbKKHakwODNEXefT9Citkb8xFH0NpCswj7o3Kj7Gn39wd9B\nfIiJ8dtoYPKc9yccFn7eZPFpvfdbrxTpPd/G+CMt++59Te9zwc1yN7OzQWMs\nCv8wh1nnKAQ/hAsUCaZuw+7tM2Fqeypzc5ZQ6hdem195VdnTJ92c0Z6QCGKI\n/Sip\r\n=/ROa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"e8266d6ed37b1072041f9d6d9353caacdfaa069f","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.20.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.20.0","dependencies":{"apollo-datasource":"^0.7.0","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.4.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.4.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.0-alpha.0_1586520874113_0.711612569222303","host":"s3://npm-registry-packages"}},"0.9.0-alpha.1":{"name":"apollo-datasource-rest","version":"0.9.0-alpha.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.0-alpha.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"dc99441640398565117fe95ea1cbf566b2c81450","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.0-alpha.1.tgz","fileCount":23,"integrity":"sha512-7vZ205mSPI1jsLQUl5ZM+3jYqcDCfBmfxCTRiqKbW/+e9aBuP6g5BpB0CXtxX7Eaxxh1TSDz8NLDcNVOFvWrFQ==","signatures":[{"sig":"MEYCIQDblBox7xQmLMtTbfdT89GMm3eQcRjouH92lfUyWNuKgAIhAMNuVlR1ogLa7nDG5LbtdjoSn9/dE+ZBMN76YL1uJnLR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87528,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeocS1CRA9TVsSAnZWagAA4xwQAI//qcuRFem62OEoDcSS\nw8DxUt24bPXo74HOXBbae+p0InfqzXKzZ91bzQcEy6dAkuu/UfG8A/rnBMbU\nDx3F2EbGHhqIdKOaKJNbe/uIlPYPWviRHYVDNQl3lcAhwyfGvpejzGsdfT1h\nWqxryyt16VvWnuKbMpgj548VNJPSlTiAFAM6aBZNa5dWYqo1dLngXbxckRnU\nfZ8vufBB1MYC3GG5qfHZksGF/sg31aPqg+mowP7dNaZ/DPnXlFlozW8gi6YJ\nJOgGP/lGl7InBKrrTVhEaQub95f5xOTl8tg6b3rwHGySajW0ZbJhJZeWdAmK\nA2bMWdJ+xYoLuWRauNH5NmxRa9CYsvYyG3kokhgqMilAdfcSN0lkdWr67ZG6\nu2svBRJYL4r32JDjM13s4l0zxMWSnJCk6lhgeG6/NmpBhVpU0/01vv2v81gS\n2GDIAYfh06qQOHN60SksBdfZPIpWC2D/mmQVEyZoZyjSgiQb9zSxTru5m0hC\nvuux0V+ecctCcy4uzZcFz4zqYC5SDrX/YVCZVZuRMvU/uaQgyaKpkihKGtla\nUxyYuRcs5EcuuHZbtyMLENMxDfe3Hjw05Cn2IKQVWvHoT0yXA7GpAoJTJtZl\nFVzUFBQ+9jkZaEWTHPhH5NnDor5D3kJcKlkF9cckeGFT9H1KsgNgvebnjefZ\nptHu\r\n=8CY6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"0c73f3180a960ff5f94ea87466a7c5aab986a03e","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.20.1","dependencies":{"apollo-datasource":"^0.7.0","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.4.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.4.0-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.0-alpha.1_1587659956711_0.4138076381391709","host":"s3://npm-registry-packages"}},"0.9.0":{"name":"apollo-datasource-rest","version":"0.9.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"20075ecee76c218930f9af5ba0e783023111b217","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.0.tgz","fileCount":23,"integrity":"sha512-UeukRXbuamqhe1P6f0/vVE8iHE4VOWTUULJrDVBysJmw4kMH2kGdc8tlqJGFStmCUtazW0CgWmvpJIPv9Va4kg==","signatures":[{"sig":"MEQCIG6pyN+bPHC82otKRbGJkeWfEjeFN+dJ6W8k6m9/B6b5AiADQrASDk1zLPrHPiLl7NBkP+3hT5mk39b30a8s7MVaMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87512,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesCtiCRA9TVsSAnZWagAA748P+QE4e1pkChC00P8GQqcH\nnfrFTd5GpuAi/e1dm4eSffuwDEMOZjxStlL1ZCeCSNkAZXwYydpfVy7nJP4u\n6pyWkMK5HmecPlRErATD4sX+bbTYc9PgJzgY0T1Ji42NkEOlE0Q0qQRSb/fF\nqwCSwP9X31BKOShWSa4q5ZvcreP+WySDzAjHiLjzxLcyN4qlxczRqU3EQowu\nOfVuUJUiBL1r0D7jQdY7zUrtk+8W6pFRoiILiy1kGUXgAAhx38lKtpb8nC8i\n8jhkGe/aiHdF5dvHDoLVPIMZRuqhQj3wdkD1c7WI4tstBU0m4jS77Bl58Go+\nF0nvpXQ0/jAVnG4a6ETl0r/8/dKbwhK+j8iiSKcDNsd6VsWNdOSd+898AxRt\nPajP2C095tznbVDRMn9e+razdTIFJOPjJ/Zw7FJUmJTfmLlpIsz9gJv1wlD9\nWRbWBQYdmGre5y/+CuizL5mb/FSEqeVSJWQ90FGeCwORoFxzTRb2+8J/lyd8\nOVVHb2a81O14lx3b2zWQ7oGA4ZoEx5P/902Z5ht0SDr6KmCV/oO1AkPx1X8f\nYm86LK40BTqgKbhWV8dZ09pYCCpFJULWkZGPPekQWBkrHonZKYVC3NlBqQXa\nLkW+/2j3X/tONGPIDWrP39DxZZS4up8hIP9aFg4+Es4FKRn5XI1CrFwxA4tL\n8ASR\r\n=TKBm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"e37384a49b2bf474eed0de3e9f4a1bebaeee64c7","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.20.1","dependencies":{"apollo-datasource":"^0.7.0","apollo-server-env":"^2.4.3","apollo-server-errors":"^2.4.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.0_1588603744622_0.8131045531861112","host":"s3://npm-registry-packages"}},"0.9.1-alpha.0":{"name":"apollo-datasource-rest","version":"0.9.1-alpha.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.1-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"75fb854fa3714c22cee19920ce0a5cced4ccac3c","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.1-alpha.0.tgz","fileCount":22,"integrity":"sha512-WLQLi2cV4jRCOUFgwOJ/F1pqDyTfGMiiQad5B4tf/KiBdL3XZ1gKqmhKGS0LeaNyOhfQhZ3z9GjnL9AftdDM5w==","signatures":[{"sig":"MEQCIFNRo2n7JQIOUvD028PcwTL37i7QIihVxSvbWv+nk1DcAiAXGdrJGL15CW7vdVBPoHlfu3MCGe7zVtF2OuCuMUeM4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetbfBCRA9TVsSAnZWagAAdOQQAJE+6JE12tJcg1d49b9I\nDf6C7VcUvxxFHAKpxeMHyOdjwb0Xf8SohZBcMhuUM5aVR1/Qxi1ki+oxjRDZ\nkPkGtwVdBivmeME3G8dAzY7j9ONWnEWNh/A55OPnSvrHCXCa8UeY1fJTKsrH\n/clyXxTRaWOgmsSom4bzMuHWVJMQJj2vxuphdswVcTJ/m61SAGIXskfxPBAD\nE45JDHMdvpm0FYIs0YVaGXwyIbe/t7NKWjKYb6zntc44hldq7nGgpKqgElnR\nDoLUZs3lYD0LEt0K+DiTBsUdwiOH22NkphwGCgsahRf+5maVMKminnFSSQ5q\nR4PuRG2M6yf05jGb+dxOy/v+qqN6rhipoTmm5V7N3UlzO1gHWS4X71RscLCW\nVOnkgYghRZZlzFsZjQRnsB16KB35vKDROarQbnZPgWetiUkU3vodveUsiKIt\nSefwbGpgiskT0yQglGTKmnBSYmLn8Vk1QSkCOGyUieo8JXTlZPR9zYzhqf9u\nXnWJENYQllpaIsU7pQbfp9HaM5lMKDQoG3pWL7nCOYqTBAl61+Wym+gOY5Xn\njMIhUQlPMKu4kpGyRxsh9/lkhVbXzSjdh6qiP/yf0woLYzIyNTwkZUjeY4SA\nl5t4iKfQ28+VPH4EzCf8YRqXQZCwj0q46uaENY7QbuwbwgkCQcKrtBT6NrKd\nBWRP\r\n=qqkQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"626c4b6505ed98d47855712a568fc4eba9d8ff18","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.20.1","dependencies":{"apollo-datasource":"^0.7.1-alpha.0","apollo-server-env":"^2.4.4-alpha.0","apollo-server-errors":"^2.4.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.4.1-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.1-alpha.0_1588967361587_0.6092474761264244","host":"s3://npm-registry-packages"}},"0.9.2-alpha.0":{"name":"apollo-datasource-rest","version":"0.9.2-alpha.0","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.2-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"be0ea60cc721014b874024012b78fe4b57d681fe","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.2-alpha.0.tgz","fileCount":22,"integrity":"sha512-N4O/0aocXQPTlroHRD/NAdKB+eHMGc7qYdax3VuY/SmaNOf593g6QuxSTvu33WnBELSSH0oWX4oXwqI1JHXakA==","signatures":[{"sig":"MEUCIQCwiu4JJLNyuBGJ8deDqpqYG2w+H3VMFfi6kuEP+JTWHQIgSSDAtHZHDU07psdHOyYlU++NvcKIMIOhanX5AUS7wSg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeu8aLCRA9TVsSAnZWagAAUSwP/1MemgB7z/HIffq6zY19\nTR6s6MIRKWERsOZcT60RDdF0UlowI/4RKi4+4Hlu19x2+ARHNB2nlIO9k/Ta\nX7JjX50d5LzMpIg1b9xKksuQN6V/mUUWKFtl7eRBKsWV7k1lTIt/3RodVf0K\nB3tgCdbB8n5zaJhu8k6FaBBq9iTGLufhrnDxlNnE9Dd6GbnQS40XtqYxP9PY\njfUSmOA0ZJiaHFpaNcMQhKIpvhQa1mXUexEYpbcPfawSSsWCvajnPCBmCbwJ\nTi99ce1Ho8e9TmEa1F7mnZiTRWGNyyDVeHAMM9cxilh8JEPVvmi+Qbo9gzIL\n8uGaIY5Tii5URKTJKDrlsPKQblJTir1vxKc6WMPFvsYBewCv2Jij6eeoVt9+\nwPj7zy0j/DvELFbKvJBs1DucQox7GSUSpq6CK6hb17/Zh9Menu0e099zDDoy\nnWlApcP0C1Glbu8GAsmFy0xHCJcQWMMegqlCskhwZuxmdRe+QkWyPYijAz8f\nVGYZv/tBgGMmhn3KFRJVA15MjRjobJuaAWHeMsCAY4Vonf3ZQoctbLoUvEPN\nmreyJBTjnx8Lf7sC7lSYd4NUYVeqhF9GxPIIBbo8lyBdyZOCEv8KVpgdhOzc\nmgtwAoQq/VOsHAe5H/zS747DcbsYtmoG//i5TRGAUfp0MBHEtkt/zSzjtHfg\nZghJ\r\n=YK9Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"bfef89b8cc44d4bd94f9d5fcd3df8941de526360","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.20.2/node@v10.20.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.20.1","dependencies":{"apollo-datasource":"^0.7.1-alpha.0","apollo-server-env":"^2.4.4-alpha.0","apollo-server-errors":"^2.4.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.5.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.2-alpha.0_1589364362821_0.7188674587095307","host":"s3://npm-registry-packages"}},"0.9.2-alpha.1":{"name":"apollo-datasource-rest","version":"0.9.2-alpha.1","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.2-alpha.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"3e089524876ff3ce9b1e007aaaa9e00545db4c53","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.2-alpha.1.tgz","fileCount":22,"integrity":"sha512-6tzpvM4+KnxrANHOEJhMNgMLMM04C6KMeytYCNTb7/MX4TYcElfIMf/wm79M8BM6ARXO+aR+s4zHXFDXZUFzFw==","signatures":[{"sig":"MEYCIQCv/bZC8Yb9nzqWmbD4LNrCP3B6C85SnmJDbjMaNikrbAIhAOj8zt46pFMse0y20Rjmnff+jfEZTZU55GSNJN7GUqzR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJew6zdCRA9TVsSAnZWagAA+hQP/AkrKsiqsQwkWPfRGp6k\npU1Y6CGfqvyd7tAYBNAl2shbLHx3zxbjQzU5GfQaogyKKF2pHB74QXVq+u7q\nq3w0JOVHddkv7tHVMrrFIGKQr2yagbeaYIlCkDbpIcZOVVl2SpBP/ibsq85q\n84A7cWKaleZxEt2BPDtE3GJ5PZVopGeDvK9xMAFl6Zo7P25Vd2128vuVRfKn\nBbT0wfAk7G/4Ip5ppjFlhSEz302Qd5/wqgp/NW/x6E/TggQvceHHpKr1gBVI\n0C8WH9cbJkkWIOJMTKCfMU9G98WGMPVmTaMclY+Vz7if+NIwdI9Yg3IfOsmi\nZnhbwfy0643inVrxGUmEAYPGoFYvEPEsKF890a7pGHiheo4fJ9X6pTMFPtgA\noO/aYVSFOwAYzCN0Rxv066AsOfKciln4vtlDO1VHf4hXfbGKCVIkF14BrNiv\nd1F5n1uCiM27DhzGOmHQt1LGEjg65fporcA+y801nJakA/6j4Uie7+kkENmd\nSrQJu9WCa+2lK4eBaztdWfwzZXioKE9hFLA6e9fTzzdsziijkVmoBN12XXc9\ng3+6jDKSTp6YeExO6JHb08dkitUxTe9QGwfgpPvj3N05aiJ5nJzIM3O7HiyE\n6dmQwn3uNFjMPLZtzphXwyJ9t0jcJkXof3X6U3lfPozBDBFOwCoKrRGivbxE\nzAdb\r\n=Len/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"6b8a4366363c27a8d828e733edef4d06ecc1cd55","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.21.0/node@v10.20.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.20.1","dependencies":{"apollo-datasource":"^0.7.1-alpha.0","apollo-server-env":"^2.4.4-alpha.0","apollo-server-errors":"^2.4.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.5.0-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.2-alpha.1_1589882077271_0.31131691681940143","host":"s3://npm-registry-packages"}},"0.9.2":{"name":"apollo-datasource-rest","version":"0.9.2","author":{"name":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"610e8d6d26b84385265cb91415113a153aa657e9","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.2.tgz","fileCount":22,"integrity":"sha512-HoKvcxp4QwnglPtJGXdG4ycncSmw6AnhrWOPNc3Q1T1wu8ffq+qN646keQXJ8ehGmVYCwZfujL1ReaD+DvDuag==","signatures":[{"sig":"MEQCIBngwgdDdKEqz2nnqNXrWtjdgLRG0s0oscTSzTAmzVZHAiBDNvSZf9k/Ka1H9lNQuzg/F4XMxC7DhPrwFWvSrp0ujw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeznnlCRA9TVsSAnZWagAAFlkP/3vb4iE0EYxHBBsCesr5\nmfLwBMpeN+nOJcXg4imExwOKCSIzIQnJId7bsCM6W41AF+LRjiXOJ1ZPqWZ2\nxx8rnmy7Cqn6XIgsjAqir2p8hjdyB5ppyNglSyN/RKPc/FVPxqafytLFrAb4\n9RFt3jcAjIN65X3qWc5AlKNZUgSXT8sNfq+FRDVQPso2yBC3wR6H83gpxdDK\n7gMiIAokK01dsgKptXosH6TzLm6f0hU54UAoDtx2nDnaqbR/p+FcRnOduhmk\nNR2uU7IKwj1hEuKrG8YhKsN58keqTDRSGsmPgu3J9IpWFyHLQYDTcHlzm6F6\nVbrGvJ0qBoIUIcvv/erhZOnaDTf4b3/VAV++GBLX2foolFKWRt+wxbae1hC1\nqx5cX9QA8ixbTmsvFhqsXv121zPfVKxg67J5bN6tDJl8gRgns7LJjvxr5nVU\nc7PcKdAGWh7PRPJrtTr4AvOgYFE+DVLNLd4fTgUu40pr3BY0UJPrm9nnRajJ\nUcyKM0gWUCcc4ecRSMSJeNpvggSIjaGkZUcqP2uc1xzB5m4WxkWypMlr1B64\nWnQcrpYI5R1lpF0M1qMVGxe3WcJ4jsLISOjYqucUaBoGMlWZe/U4An4DCUec\nzHVR2R06NSUaL5f3Uy3nmgvRdZQcXDh9rJG+1RYMfUREK0vOyeZrSr2tQxpd\nVNNS\r\n=5LwF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"d159e320879f594ba2d04036e3e1aa0653ff164d","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest","type":"git"},"_npmVersion":"lerna/3.21.0/node@v10.20.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.20.1","dependencies":{"apollo-datasource":"^0.7.1","apollo-server-env":"^2.4.4","apollo-server-errors":"^2.4.1","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.1"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.2_1590589924715_0.18241560466596263","host":"s3://npm-registry-packages"}},"0.9.3":{"name":"apollo-datasource-rest","version":"0.9.3","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.3","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"3d7d0326d2848a14e52621e2ccdab567363a4bc3","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.3.tgz","fileCount":22,"integrity":"sha512-DqSmcziPpSSz79zS+bmixFhlf5fVDKbAKqU5Hqd77jRjrrzpYN0pgT7NJTd4IhC1jVLTE+/9bZ6Q7Cr8fcID/A==","signatures":[{"sig":"MEYCIQC+lJeBk7mSBMZ1cleq+QdbjKWjIftIzpGe2M7lrRWlawIhALBx6xsuY/jAExurJHk4ecWIaPekDX3wxRdU9rywLNjN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+yEHCRA9TVsSAnZWagAAVpQP/3VNdJZRD+iifP/hCs3K\nnOCY6iK69sqZSjP7z1vfVYVDg+4YnyAhh5Gxgk+38s2ToZ18VpCeFJ8Dq5zL\ndI49jNykvlyylnYILRtRAy8UFBtfrZy+FAe1cykWcg4ENVCbU/zxPSLVoA3d\nXzNJj38kaxO90mjIUxQE5yQsNxGTRp0o3PWolO/pC7sXyUYJvmGYoRkut8g5\nJB4+cCdvlBp2b8C7BVy0e0N81PhXfanFXaZmU0AXUI/F/FgYsyfbn38zL9f8\ns+5JowToQYTpbQqz8yduCjsJFcuCd7OxSAtGT9ZnnEAH1hGN/0rQ+/M5mngV\n4oQvqtDqF1LjCzKWfRt46oo+QTVTSJKSsRWozwK19W/M25DqhenVtkwwXVAO\nuQZ/NS5YzkcU8zeoiO7cHj3xMXlyx5zb3gpzcJy+ick3S1UJmgCO+3pfgSbQ\ngg4wPqLbv0VcM4ELhjnxsIR0C4fKFZSEH78bpEqPyc+c6rfUEZec7QuiP3FI\nng3FjTUPM/QxuDMe+GcORNvll/zlxx6EmAshUldU8ET6et+SFl/1FSdGsUBD\nggccS7I6BXQKCYPQfjUM18YxRr/Dtnh3WQFtmwIi2Q2lPfhE/3LQsS97F1Cu\n2em70M0HAuWxj85vyLPIW2+bzFtmC1lJFm9/TYsZ+25Monln4WCdguxlm1hP\nsnlH\r\n=h6dK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"8cfc947ed56fa3f32b82b32b4bcca53470712984","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.21.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.21.0","dependencies":{"apollo-datasource":"^0.7.2","apollo-server-env":"^2.4.5","apollo-server-errors":"^2.4.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.3_1593516295387_0.38180760657268187","host":"s3://npm-registry-packages"}},"0.300.0-alpha.2":{"name":"apollo-datasource-rest","version":"0.300.0-alpha.2","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.300.0-alpha.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"588d9c97c497d686eee822297664954c05e53976","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.300.0-alpha.2.tgz","fileCount":22,"integrity":"sha512-JsYvFLy0gtVWLoRX6Dhyn2N/ADskqxi8n1Z99fCB5WogxqoMZbd8hm1fM8q/CJZOuOdHUpcPXM5FG5lLl4aZ4A==","signatures":[{"sig":"MEYCIQDXklpAPUjhcKRBGmXNsR4qrAk2aFnckW9dXflORGulkQIhALAAMeiZr/78iEI8WYZO0NM9vDf92soDPL21ulJyvViX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLGF9CRA9TVsSAnZWagAAD04P/iMZ57wuqiKkUv7ihBHM\nXvj8/Fx3JHp8QI0DkLd/2zKX9KYDb3RXPmmAYDPCV+C2lEp32Nu5oG+6O2kr\nzUXvAkImQkFCqGhc6WkyleIEel9BK8HVedqtETLq1vSJ8UCJTH7u+layZp4j\nvtMOuG9vVqIyC1l0bVI5ByZ5cFZepS8ebItSKkWwuS+OdMM1M05DMFwRmjWt\nsgZwoMxclzXmJg0Ssjd4GEQ1Pn+H1jgbgDwDk5cr4lBBSsgGOdx5aLih6SKE\n6n7E1VVAkFYf46xjCMmtk+f5I8p1jY+vayHMdWmd2c4cdu44JjJZ2KfxSpaB\nfZyX/Z6Gtck7GcZw9ONQBvUrhPQlCd1WJumRQ+GtkEjJXzslKY6AJlYN9r3A\nPmHiItz6Ju23/qoUMeunHqgH3T3h7oGO+un9+ffK6g0djTsvqMdsyEJVoqkz\nBfPZk6xtuLNmvEcreeirJMcFSkiOzOog0Fti+Y3GhBgQB2+wV9JX/yHkf5hb\nnmQTQ99fxZ1Xn4gFzofvczq02l2ivLMA2jMTorzy/khUYpprcRK83fN+kahQ\nmEHuno4RFJ6AK5uNKnLf40eL84K9C3GQ+6XHAaKV2wqAyBk6YigVsmcFFnt1\n/CpbDg+U84kPz8zjtRMyQpNLBjDxr9RIs02w4HgSELwnw2ZcPi5rVc7QlFXC\nYqq6\r\n=U7DH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=12.0 <15.0"},"gitHead":"6f3711b589dca8079264969263266cd7b6010ed3","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.22.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.22.0","dependencies":{"apollo-datasource":"^0.300.0-alpha.2","apollo-server-env":"^3.0.0-alpha.2","apollo-server-errors":"^3.0.0-alpha.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.300.0-alpha.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.300.0-alpha.2"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.300.0-alpha.2_1596744061007_0.075465300235245","host":"s3://npm-registry-packages"}},"0.300.0-alpha.3":{"name":"apollo-datasource-rest","version":"0.300.0-alpha.3","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.300.0-alpha.3","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"evanshauser","email":"evanshauser@gmail.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"d4fa7dbcc4a01b05db399883465ccd7625f1544b","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.300.0-alpha.3.tgz","fileCount":22,"integrity":"sha512-AeB7G9qJVhVMGIUySUMEhh3ywy8GO6Jbcg21z1dMP0tqj76JDMKuVugnMy6CzvsUGo9HA7ocNQYeA+8QY6rEyg==","signatures":[{"sig":"MEQCID3T5yAGYqUNDHLU/y5bskW/cgKAOPiNGhl93xQlvOE7AiBy4bLIYuxrxUsANp4fQNwv+exQ+gRhweZLtRucG9OqPg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNB+xCRA9TVsSAnZWagAA6g0P/3Ar+4xk1zIiQPO7PfaE\n12LWAbKkedvU9jC/YGJskNF9Q9P5T1UaDfrymRe9A3jPy75UFWYJSejVjl2c\n2k7VMlX6HgH3GLwdSaJoXGE0JT/hsEnAchnyS40VLPww0bBQlM8b6BCjIk43\nMg0LJQloN5IwoeZbe0jYs4IS0UeLpodjjGFOAwTN4/i4CF86mzbitdzSsR0Y\nJ67TbxRUt4/OyCR7Elc5vL1mlNQyP0mLkcDtQ7Bd2yRAzLG/jvzwTRi1VnbL\n90KlycXdCRemKfaVcKpuktnGSXPnmXbtNVpAHBYeJYHallHUaHgWjPoCpOPz\n9cAIygR8YzogK1X0xLkk9xEQfu5BAOr/maKApdQBCj4kR++T6e8Lv5vm2sKT\nyVAbxRl/HZYaRM2oUdvpQrh67jKlQKkP+rrO95TVhIH5mqRytdxx8XxWh3Ex\nOQpTOZ3RkZgH7cnymUzYu2m9frIGZrhCnsHS95OBFE0jrCM6xBzMKECNVmdc\ngRLixUSOlRwuf4Esctd+ZigfoVAP3WStgviKvx5g0aZ/QYdL+EvachittPsF\noR8tfZZuQtMZQFiEcJlnoRa6JPsbWfRsBRb7pZJ+rVfDwPSUBGbm3LkQWjp2\n7skcSzvwxIE5XpCxLi0w1Ji3TQumLtZI5EwKhbQzIhyfPF3PrQ9jF2LFCQ5A\n8wp6\r\n=BQvq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=12.0 <15.0"},"gitHead":"15b90eec22523e32e00d97a51b28cbfba3f39c78","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.22.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.22.0","dependencies":{"apollo-datasource":"^0.300.0-alpha.3","apollo-server-env":"^3.0.0-alpha.3","apollo-server-errors":"^3.0.0-alpha.3","http-cache-semantics":"^4.1.0","apollo-server-caching":"^0.300.0-alpha.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.300.0-alpha.3"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.300.0-alpha.3_1597251504983_0.48040215359683947","host":"s3://npm-registry-packages"}},"0.9.4-rc.0":{"name":"apollo-datasource-rest","version":"0.9.4-rc.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.4-rc.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"f240a5d60d81589d2f062e6d6fd051937b5a3943","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.4-rc.0.tgz","fileCount":22,"integrity":"sha512-bSIdsAVyECQPmvCBveYwtDXOVbFzqwWljF8waRW3y9WvEg6migwjRByL7al4f8trjuGz7XZsZ8y/qOFnO4Tjjg==","signatures":[{"sig":"MEYCIQCjxRClOIiyQKq4cv9L3bibV3wKVCFHrov0XRATSRPd/AIhAPLbAoWC+EPOlfSL1awX6S/ya6BpEYzLHPnnUaJyxGzu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZTHXCRA9TVsSAnZWagAAYnAQAJp/4nZyPmSD9wsinr6c\nqB9ckwZ5IX9eHaKl4s0wnq/BPT48Sgh6G11wrUO3XMnlbQf63KPkSzaAGjdq\nivZDWBbDSq/BMUpVOhnJA2y+Xm+dhq/bIhmLq4NdnCIjGT5PNVra5MO1qvy5\nstdADbY1f0uMKxzWghbkfX7ImdVdy/bgThhxgDQ8ZSoj79JM6lBQqVmAiRAb\n1TB7wbBw1yTmUqiRQIKSq1fJKs8RjNvfp+Y5+TvDrJS0A0Z+hsOLt1+lOOdH\nHOYHqQ7JL+GN6JRIguVua2DDtLFOTkjqW9yvyths3PyDDP79GB6Cm2oYl62L\nVMpD9bre0thlo0szY7kQ/QOqUen6HYz/KkB6LbUyzW/QwLubdEpYYnCx4TWJ\nU+aKy3w/A1vufi92xsjE4Y98hlSwibYeUWenORzFXVhJUhymUwn0mAu18xuV\n8If0BkRjoJlxnk5hPnOQ1PYQzaeHL9MIWKoOHHcij9qEH45YSkT4BntdKza2\nvSnSBm1Y4bNNOrgF3ZIwF4H/sfeBvy3vXqDuL5u6dzJajDM77JzrrMQkeoBy\n4UFCkHBY9ayKez+RCwnPQlbeBC9x1T5O0qPZQ6/wDKBeh+2HOc0RiMNbP+Ck\nVIqlDtd6LcUI3Gt1AOUQHvspwCeSnkRisxL8qQ4FReCzyma0XnLiIRB5Y8Dz\nyEwB\r\n=Gnjh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"9e5cd2804c4a5c320cfcee3d0b7448e02e9b2b8f","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.22.1","dependencies":{"apollo-datasource":"^0.7.2","apollo-server-env":"^2.4.5","apollo-server-errors":"^2.4.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.6.0-rc.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.4-rc.0_1600467415033_0.5397337120944421","host":"s3://npm-registry-packages"}},"0.9.4":{"name":"apollo-datasource-rest","version":"0.9.4","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.4","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"b3a99bee82796e9a1a7b4147b8fdda930b6e4dbd","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.4.tgz","fileCount":22,"integrity":"sha512-JBtjLsmYE+D8Vb5GPf6iRed5vIRpViifg9LVq1oSiBGc4oAhtvr07+gY89/bXU2XbznBF90AYt35j9d5881dMA==","signatures":[{"sig":"MEUCIQCTVvfyqOd8vZXwfD0fRc5XChxFcUtrFrBHKrx09sCUBAIgYhnOa14gm4Fsf1GvaOFr8PUqn1ULIKtK1CGhDSBvpIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaXxhCRA9TVsSAnZWagAAIO4QAKNRXPRCMsUDdF0VMkvl\nV8FUly5vMKobiLI1nbpZ7l7zjjIaQHaUaz72cSTO/ymcqNoLgl3lZCbXhN/z\n56AN+AfQ468oBNd98otNwW1i56gquBRfcR5C92Ga0WNwY4dBYkQhR2gXoWQh\ntQbSqR0v6DydrfkOy+V8VnrHE5hxr8AftoMHR48EvSdvK54EyHxj2tzPDuhD\ni5hUwOIDXUmQLsw7+SITx3PvG6kC66paoo4vOPKUlC9gjVt5kXkg/NotVP4J\nXT1ocbGSX5Ej02aUCwopk5SCdgaHoN/XOtBtWeOy6WFm/BPCnv0i2lleempV\n263MrTuCQbMxBru1k5Ve+ROpDIOFuOILdtZOBdRirasW1WXDxloBXsi9tVuB\nT1cDnNBZx8hA6J7AnBkvcjDjnI4nzHb7zatlJor87gy0llQD3mHGKunBtxic\n0Rxh17bxE6rL0kEny1LvqlcADw5M/MjjUsT1kSBvIYjU/dTjnWeRD7bBcF4q\nnCsX2ATcJf4KzGMvkgwYDEwqLa/Yary5FNpwLeJDjMYCEwd/TRedSAiEDo0f\nDlIs01Pds3e7/M2M2V66Su3f3z0r5Mhz1lJgb4QO+RrLJ7lkTv0axa1+le4f\n0uvBkdaNisP1yYcbcGSy74c24Hed7GXYtKkrrvwIBNcj+WgxboWxRlMzNE5I\naBjc\r\n=ORRg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"2aab7fd973bf352a0de28b2385dbad4be7c7fabc","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.22.1","dependencies":{"apollo-datasource":"^0.7.2","apollo-server-env":"^2.4.5","apollo-server-errors":"^2.4.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.4_1600748640434_0.31482304451298515","host":"s3://npm-registry-packages"}},"0.9.5-alpha.0":{"name":"apollo-datasource-rest","version":"0.9.5-alpha.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.5-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"ffeb79b2845d3b9ca4ff2ab4edc9aa67ab5f5fc3","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.5-alpha.0.tgz","fileCount":22,"integrity":"sha512-2LjPyKMLab39lwRKNacR2SDBTeO0JofHj7VN2D7QCWVmr2Jbr1NAA5JtEmij0dzeLr67WyvDqRdaFGg//wrOsw==","signatures":[{"sig":"MEYCIQCo2MXlsxnDqMeb6LTB8QTO7GLMCrMlL7YzkouU2WAi/wIhAODXLSEeCCB24jHXnNkbhFeY0hShT2aiZOLyN1hGuBYs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjdv4CRA9TVsSAnZWagAAPxEP/AnwTCobkFXH8wtGWG6d\ndIwsBNOkvNNVDDMTi8revCfK9vkBF7t4ZYteprWPNwK4sVeijHoJg8edM21r\nIGtW8+5sfY2JCmjHMfKk2Q8WcmjgcuPdNXuD0zh4UVZhQzGlR78WBfeZPFwv\nb+kYQxVzFaNzbcFV0he1iQD2Vy6vJtqlvUV3VFAoMzI6e4MTNbeUzbuAPqjy\nwtIa2fNsCKzbLBNs3w70AXRI9DH/uyLn55FQzmDcrrZJiTwj4W+jFHd0jJBX\nYFLrUNyBzbiQunNy5/QU4o0ul2NwmjFBeHTGk7J6/uxYf5mnWXU8B+sZMkvk\nsDDmIUojdntWqjOgKlTbkfD197l3dj64fY+qfEQuJjrwyMt0dYlCsomroBPi\nkwmVlP3C3QUX98qvtDvq9ljmRuOHn4P10K8eI35c8+Za9Wtr993R6zDXQEFP\n3JpdzhedWuroB3DM6+sfX/XRc2bJ0S7RElbJCUjT59NEhBnqBUUi4bdcwumk\nNIAB5Nu1Vi8YRIqNjZXu1Sxw2A8birAuXPiCB/pwHHd0B55zbZaN0b7qvTYL\ngoAMNmJSNv2jNmvF3r8DuoLRuDKtS9xsVnYATfQQH67lY4W5qDA3pmv7kPvW\neSZsgYApggfp+GwI7Jqu/6wC/i0o50ZG41ZvyqWosXOkJAkVQOvp5ZJFUYk4\nuAJw\r\n=CkLp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n","engines":{"node":">=6"},"gitHead":"495f8d83689340357f6d8ba959601913050e35a9","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.22.1","dependencies":{"apollo-datasource":"^0.7.2","apollo-server-env":"^2.4.5","apollo-server-errors":"^2.4.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.6.1-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.5-alpha.0_1603132408460_0.04184645607240811","host":"s3://npm-registry-packages"}},"0.9.5":{"name":"apollo-datasource-rest","version":"0.9.5","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.5","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"38febbf23ad2d427c40c79a59ade5766cabba16b","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.5.tgz","fileCount":22,"integrity":"sha512-/rtuQETxRIj6aQK1sVgSX9Nq4GkfdXT7sTaqdduc/EbmFIGs8xIZZh/QjFQ2HOqFrP7Qfno+eyK1lRChy6ILDA==","signatures":[{"sig":"MEUCIQCd9uRhInld233u7DJn5JKVT9jFOmjXP2ePASIfPLyzngIgQNPeyQXt9eMgCdX5+z/XuMnFT5FkjiXxdXqBca+8Aao=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnHFLCRA9TVsSAnZWagAAJRUQAIQEk8l7j9I2NCvhH6r6\ncdkychrbn5MiB/Y+8jktgU0UOu9Oh8YEt4gW9TbQcOGOKpjZbhZoo9DoFA3s\nleE1p+Xb+ROq2/Ke65DBu0BYFEdOsv2OuuHZCaq/GBVTTJWE5zsX8HZ1KxGd\nl1X4066FPUA46+7eorUi8OOwhPw8ERRLIpCZjlbUiHGlQdLhWkW61CMIuSAk\nL6Q35G7XrngBE5Uq6iO59hjVY1Q7lVxOUh9xElUzw1qbm3wgNGZGQw36L5gH\nSdWWDhj1Plpw/ZJhH/A9nPIKORIE6/I3jsRIuyDJEex1GkLuwmA8VRg4EOw+\ns4ObJCoWzTw7w0BEICHJ8zdEr2p0bt801BvE2o7D/rQBwxsiJ7JrBJzHobY3\n2zUXENynoF95M3zvE0CIp/0P79Zh453qocAzoOeDyOjBV1broETTXZiGAN4A\nCS7WkuMo56bB7LPbZ8yduKk3uQojHYTNHjF2ej4VR0QhVHAl7qhJI+1Eni1u\nHycvJZ1o/nXea+HYbbhViBCpaHLpqy9MQhiDP9kVqzbevNnPYgGsqvlUd/aH\nijRFGdhLpQQnp2TarUaUBmZZTX99Sihy25pii+CboVoR5zSRCSu/TqTyfGzY\n/wEPRiojAIFP7ojoHoFxYAfMprLQolH1Fo+FIynHIvJJSSn2vyv08zW9jpNZ\nJIUZ\r\n=Qdzq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"4c6d16f14ab735ba0361057d75e51adb6790426c","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.23.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.23.0","dependencies":{"apollo-datasource":"^0.7.2","apollo-server-env":"^2.4.5","apollo-server-errors":"^2.4.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.6.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.5_1604088138634_0.785191146993361","host":"s3://npm-registry-packages"}},"0.9.6":{"name":"apollo-datasource-rest","version":"0.9.6","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.6","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"97952d7600186bbb7f53297401b4107043c0b021","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.6.tgz","fileCount":22,"integrity":"sha512-Z99lVz7sAzgR9XY5r3VP9tdLWXQHW1JA9OVBttiJwrOkJ1OI6thB8KlhZZnrx/Kk0xlZh0yaUZ1cMEbAdH7Jiw==","signatures":[{"sig":"MEQCIHnWa6xEEaEkdY1Cem+OTnu7oYY+zwO23kpz3c/xOXqkAiAGPCsHcTAGPKibN/bzElQF1ws+MPragQVpwroJyF/Eeg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4nwWCRA9TVsSAnZWagAAYsUP/3Hxch8Bbz88kz59MOYq\npvK+DqUuf/eTTQyR66kBDjEkLtNKUi4UK2P3/fxmAjPLRwoU2m6LVmGSUFla\nniJnImAPQYnoJMifJ0m6XICBzFPRq1u1p4g5ktzArDDpFKHqsRVrQmKSisRh\n5lzjC24LQVgCkc3AOma1djqZja0d8iVA/Ns2aw0AP4TiZQ0VhtCsWMIf2HBO\nsUA6O1r7/JEWpmqa8cj2OQ3xMYhlZbO9zZu8nNKTaYq+PN97ywfsjyFUE3Ft\nChp4l8ShuU3R0MREby7oexRHdyB4bX6kR8NQHOxBFGuzaioXMA3XYfjaU/Lb\nJDGatrHNfHO9GRC/feUKXlLUm1Q2iZr86GO7akCc8bIFtaMrqh+02IA+IlPk\nAaHZcXuIVvcqW024vJIgUFRrZWcubG5O+Aawc6sUqjjHY7HYBdSWKxI1um4t\n+NDsBDa29oVW3UynbioQ/dw6eehgW0sVzvjmFUx2sDeARwOzDtHwu7I28fu/\nCTSzVHXPITY3pTIFCZc+lhmmQQMjcESFcv+YDxjSNouvqStVElPk/uD5xSiS\nGP5NITQurTVbmn7MzOapPcNhWvhfx1ScmWNqKVX+H3P/ppvYFtwjooREtihV\nd6S6qNqLG1ib7/VwvhG/iub9ZbSfiXx45ZsisqMX/KdoLmpAaPpZQqCjhCmD\nwTN9\r\n=RIt3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"7e543ed5540ce5995b30b1bb2a7b54367fd49d6f","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.23.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.23.0","dependencies":{"apollo-datasource":"^0.7.2","apollo-server-env":"^2.4.5","apollo-server-errors":"^2.4.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.2"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.6.2"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.6_1608678422191_0.40312472135268473","host":"s3://npm-registry-packages"}},"0.9.7":{"name":"apollo-datasource-rest","version":"0.9.7","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.9.7","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"e9c2c311c5286fee8dbb8c24a7307d6892cd8293","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.9.7.tgz","fileCount":22,"integrity":"sha512-DR+OKpVsR/BvhpBrK9OEmytahA1FiC7KDBEHvuDIlit54nP7SJ+OpXp7/V8nuH0QUfTwUa5RZ4RH3Y5xnqJozQ==","signatures":[{"sig":"MEQCH2Ab2Hso1f2Q8MumbJhiwAF7VxpLXnRuUYaz7RGwpNwCIQCox6korE4xlYSB2BXl+t/YPb10h28R371fMV25NpjIgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAHZ3CRA9TVsSAnZWagAAuxcP/RH/1itaeMwsIi83jsfM\nLfDaQ1xBe7T5AQ3nYfqQJvAAkCR/NNRHqAUZOaZrA9Q6Z8IynAimJvze21Yn\nzbBIhc5/gumNf7ZSQBuXtqZJTONn9Q78KCjx2SJf3aFHtAz9R1jDpL558JvK\nLcQX9geO0Gg1rN7MosorNo1KIZOcH7I/EtrnTIZN9ps8p6AA4v9PPGDPOZV/\nlF7LriQHUhdMoDNVlt38roRnUDakYd5eB6NADHIvBzohPzD/rfpZuNlNofOz\nEqcny9PSw4+z/123Qm58HpIDoX7SU9667QA5WS630eAUSjrbn0EqRTyXkXzM\nhZLh81zZh8vguuBeM4O8/+rIfWlWFg7G88gkrRSdLy9TnY1ZnhaU/vEon8Tn\nKnQQd8kGs8WBi3+PLO5z51XEjB75RW24Uk768Wr12DUUW/XdnBHFHewGBn6A\nRCCPajneno13BX2B6YiLSZmUw4vL9pesyQ9/4tQgP14RAZOfvLImXCqgaFnq\ntVOKJY+LNGF5MowQUzV7GKbRKcWmf8EBNBhIRpMzq1aZRB/jkpomW3mOvA8X\nj1LJD9jGWHV942k23aHpfTn0InDhb46VCeO1phdp/JvFZuZJ0t7K/JQI9NDu\nwdbvL2SGjne3dT0HutAxmQzcSlBEgRBYVF0psUeFEIbwIWgGOqhC5VJ+ijTw\nImHP\r\n=pqSq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"c212627be591cd2c2469321b58b15f1b7909778d","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.23.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.23.1","dependencies":{"apollo-datasource":"^0.7.3","apollo-server-env":"^3.0.0","apollo-server-errors":"^2.4.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.3"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.6.3"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.9.7_1610643062805_0.17300971546368382","host":"s3://npm-registry-packages"}},"0.10.0-alpha.0":{"name":"apollo-datasource-rest","version":"0.10.0-alpha.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.10.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"99806693b2b074ba27568e88ebddf62a29d9688a","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.10.0-alpha.0.tgz","fileCount":22,"integrity":"sha512-R2i+lmQErMuRr3njfYBjbseMQafL6Nlj8GafDgOwFS0UfoFHcr7nU9fBFlk0s5kR1Z1bRp2gvEjlqbEE8nJq9g==","signatures":[{"sig":"MEUCIBhRAN6507zhzHQQw/cWVcHR5M8tpyiXjOlILbbv3wHJAiEAlTj8yrauTpaAu9vYX8reeHjrXTtq433edQ3hxXkVhA0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIeE5CRA9TVsSAnZWagAAGHoP/24d4/zbjb8O0Q8LBGk1\nETZr4xSuKe2JuBwvyFQGUDr49H7xykctvihviw0HLChlYNo5EwMTjYz8lhFl\nujgrRlLIRh7j0REHRMcONAaVh8/u7aAfxiRdHU6tkDvt6xUOj1cOh6XwCT5N\nY10oWY9mFH0vaI+kyysGvjoEDANG/NzC1NfDdf1NI+wqyx4yV4hakp9odqP8\nsLk0mK9Nb81pwTDym56v2EGJ1Ly8oOkOrdPbBv9cjNwQDNPmJcBxtBdEWewZ\nQiJoTf1qqtTi6ujI60O+IBGY4AOWdN2epywB/dLmWBI8q7XQpGFHwxcTAPTs\naIWl6ng56GOXIroabs0l+VgrqpAiaQ/BJu7QDNlypNAHSTBZjTLS95j/qTWt\nu5y0aRMmqszXm62oV5VRm0eyWZT04PJB/JDro7qoG/twFN23mSab6S94P6pr\nX7AgzT9m0Jb7y282xOk2RM+t7Q9BGzgHJYKnUWV8bEgJSXkWjJuGORpNfsRe\n3hS+OTh82MBzN0dI/tZCafg5pimStf+jBeGtffTsdd2GTGgr/gCcQ9f6VwQ6\nrsxCpRCVdU9YSZzlYeklr+epccWkEMbeRDucKXNylm6ftSm5kabmVLXx44kM\nM094l6tZ2sOyvy3UR+QiE2XsCNoetxAaSDIyd93ZO6S/4cZTD+x7Ky1E7Xny\nxNqP\r\n=7I3f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=6"},"gitHead":"d18b7a94a6984017955e117060738f190b6f604d","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.23.2+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.23.2","dependencies":{"apollo-datasource":"^0.7.3","apollo-server-env":"^3.0.0","apollo-server-errors":"^2.4.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.6.3"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.10.0-alpha.0_1612833081035_0.8816023329398388","host":"s3://npm-registry-packages"}},"0.10.0":{"name":"apollo-datasource-rest","version":"0.10.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.10.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"832c035ba7dfd8e1d944de49972c1d4d58e15a31","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.10.0.tgz","fileCount":22,"integrity":"sha512-mF64PZkZoD0jULWJlwQ+Him5mLbYibN7PXqHVyJg+GSko/SyN+hYc4bYl802wkDyVRBE2+iEB8kGI/Rd9Xib9w==","signatures":[{"sig":"MEUCIAHnIpncnghNpgDi1DFOZ6T3eP2l68K6z5bOJqOgq5FTAiEAoThXlANQ4F+0HzK+KJgFv862KcB1nphfz0lbxqW+bEM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88611,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIxV8CRA9TVsSAnZWagAAW9UP/1T488GRSWJPg0SpP1ae\nFyeG5831wUUAUMGYECApqAc8/0I8U1vPJmRfBg5PZD5fM85LGE/tOPUF9vrV\nQb8g6W1IW4Q+dO1xu+QDSN3QFiahTpXMVsFuQ7svBcso7/LATH8WG703GppV\nFFOPxQM9P6aPXpOdyK+wbOas1rRT1hwUKJgMWC/LSZUPlrU/vna5Wjd4KFWT\naiMBc4qT6ftEd8EPBfCxCY4bUFJtkk+BUv8VwP4xCgdDCjSPI0X3Hyr3djwF\n77svz7522sOq1i01n4JHfj3GOD1dNr04UlzRSpwSe5hI6x4yCyziSNVSlFSu\nmy8v0UbfsE2oGTWdInkbdYU/CnVxJ9Tg7Z/ZUJMiHhGYXlBDX97w5+Z/9NGL\n2Pd8BsmBKCIhUo78zKMbnUcHJPMVAchRhkga1/9gZ+sPwCPtcAXlSpZPM7SJ\nHUvn7M8osIvtSM7u//7AQrecKkeQstGgQNthgvmzD9d52G2k3pd+gCh5hG0g\n5LWLnDi873PPpchUAzSKfvLHWO31mIuK6RS9xb9oJ40EWg7T2P+hHICTi6hS\n2cDuvW3bcfRSUTCzuGq6NWEgr2buEKZkFwmhus2I0e+pqT+W0/cKSbL39Hxg\ns3UJxbOjVUdb/O7Q78/T8lHTXOR8fR6V1fSyDfM6rkj/c/yxw9I6XyPBfk5a\nYW1G\r\n=ZazS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"baf9b252dfab150ec828ef83345a7ceb2d34a6a3","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.23.2+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.23.2","dependencies":{"apollo-datasource":"^0.7.3","apollo-server-env":"^3.0.0","apollo-server-errors":"^2.4.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.5.3"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.6.3"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.10.0_1612911996177_0.2337813359008467","host":"s3://npm-registry-packages"}},"0.11.0-alpha.0":{"name":"apollo-datasource-rest","version":"0.11.0-alpha.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.11.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"f996f15d83af4a3b75599d6a34afee5b6346818a","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.11.0-alpha.0.tgz","fileCount":22,"integrity":"sha512-TDat/jBMVEqAZhrEB2bk8tw6XW3hEFWRpVz3eZAAAIzUCn/IXOz2RVZziV3TtvTC1edFUUGfgBuX3NvduAaPzQ==","signatures":[{"sig":"MEUCIBn6V+OFexIL1JJXQb40UnmzVY7xKeTes2adsjHoQscvAiEA/TjzQ33UYZIi4CyB9Smeg3kUBDFt5HT2VJjWLdTLYtY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWRMeCRA9TVsSAnZWagAAF5kP/jdkM2UQQ1hq0ZIvWvzT\nu8coch756e0iySKOVcRvtZ/dxXTXFukCpkke65irPnm9L/aZmz4hON2+AsWb\nueFiOaY3ZeoLerSa6aJdrSciAaYloTESGaiIW3cDHGRmWCLxG6A9XWCpnAj8\nx0An5BhqTcCufefcfnOqL6WEAyI0yTB9FiBaVm6h6wyOk2HJtcyGEZUkarcx\n8gXIs5rIvh7dehRv+D0YF1OhVPEVHqxlEFGE2axKQuImhokejdDgs3Bwup/S\noHq2cVxpMRxFPZUIBmIR67NRVp79eC6PfhqBxYqq3jwEYyvv0TBLprYOnn8m\nL0ZoP9WuQIv+AIy2N3VxOFx6OXAPa3WtluDaX0fgDmYVaa6KycN6/L3o2HAz\nz9t9PHwi97WvcsSIDjrlKg7g5QWXRCpEfv86g8ANzIbZNSDknCIAOIcc4mV2\notSFk/cAZUEgL+hlTvt+BamiAPy1YxHJchh6qU38iKfQPj7dBjE/nq9KrxJq\nrS+5Rfb5r1yHYLrYJKkRUS2kn1xksXk+DQLaWScH3egSvxz2jsjVZhuWDU9v\n0k8ft6bgIR3lyqqVQ2ndn+Tu+DIdmJQyThLh8U7lv4wte7Guib57vCCWRX//\nZrTCuC6cI1/WwSwNLltp6XrQuePI4QmHoHx3ZQtNXlYmhTIaX1UrCgwUoxRE\ncrCp\r\n=bxKR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=6"},"gitHead":"1682a2566c135381b67310922ab7fba44c4f0644","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.24.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.24.0","dependencies":{"apollo-datasource":"^0.8.0-alpha.0","apollo-server-env":"^3.0.0","apollo-server-errors":"^2.4.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.6.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.7.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.11.0-alpha.0_1616450333882_0.5249078793423225","host":"s3://npm-registry-packages"}},"0.11.0":{"name":"apollo-datasource-rest","version":"0.11.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.11.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"ff4cf1a3e77bab556b1c6e969ffeff970afb42e5","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.11.0.tgz","fileCount":22,"integrity":"sha512-w9rrQPHevpu3zsUaUOz9jLEbrx5PsVCGlZj3Mk75HWVqyydY9R7uFMNqAfSKdKZZ4HnTyePC2mgNmfZfVs6f7g==","signatures":[{"sig":"MEQCIA6RxRpjI1NXUyY0pKxmv+2vpUQlkdJOIj7TfCLVsCOnAiBsvMxRmyRw4/lp1ib+h1JFlgBkgqHklClaG6KUDDowYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88611,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXSqfCRA9TVsSAnZWagAA9BsP/RKGZRqfICHxCVPOs01w\n0gj6CuGU+YFO1btBLOdsOWcqHXZQbJOKYuEcmGCe0NP3fJuMnVjoqB5YFt0z\nHYFo9KYTwdngaaYiDQkvJCXR5rt4g+veuvbYd1IgD2HD1xEN6SvFAbGmHL2z\nF0/FZWMDnvW6g0vOkBvbeoEaA+CfiMjqO5Hk8JmbQobCWQd1GaT7BiFRaWpZ\nZ9bQO2qmKGuk/07iTUSC/szmoRMZDSXZMrZ0GQvuTNsk1Is5KkBMmdordK0p\nqSoNheBYAzAQQ710p7IMZezyFdvAUFsAQBqOZqotjPNvTYCXpuxrgpmV1bMK\nx26NoYSH47qPRsGApWTYRFe0wAazR2KmxExhvFnm1BdU9tnzuzq0cdPqIppG\npAcHk6XpVnnDUbQsHZqrCTzD0F0OrsGb+ZkRxGEOnekJpNrn7ZYCoM//imHu\nPNRS5HcqX/JuqGLp5a6miwNC15/PuQAz4s4kKz53M8PAvawbNbbWXnc3khfG\nt7MfGRe0BwysSucwpT6hB8gsFFQQlw6iaqwOJsED3wT3hRzuapyNrmrLz4R2\nyRaEr0CaVOAuw2655ze1lfKR301X2JDv9jKxW9JgHN8VFhGD9d+7VXD09Lz5\nAHofiVFVP7HVnpHWLIBKpUuo1QTTQzELCLvIk4wqcKJOs8v6bh1dn/5DxDmp\n3UD5\r\n=FbgR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"93499e703a375ff0fbd128138e46b574074b44e6","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.24.0+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.24.0","dependencies":{"apollo-datasource":"^0.8.0","apollo-server-env":"^3.0.0","apollo-server-errors":"^2.4.2","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.11.0_1616718495305_0.9497272187032824","host":"s3://npm-registry-packages"}},"0.12.0-alpha.0":{"name":"apollo-datasource-rest","version":"0.12.0-alpha.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.12.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"2e90781091a3138cfa463e58e228e0ab1a5fbc14","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.12.0-alpha.0.tgz","fileCount":22,"integrity":"sha512-snRdTLf+1OhVxKOBt9weUXRBndGNswPNjAuIPuLNNh23k/qRUQwwdem244bWPQTb+dV+X8oL+nRsvG3Q0FG1kA==","signatures":[{"sig":"MEUCIDTdebfKQhS1p0zok27u9J4tpylBKefpMRKGhDpJVm5bAiEAyzx5B6P/UcGp+YVSgJtN+nsDSrsClAWCXA1lu6Ugk9I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgb5srCRA9TVsSAnZWagAAgYoP/2pAPvlELQVf+QJUkT4k\nmK4r2Bll6T1Uo1ztliXcA1ZG+VHYQRijX/bbMLsQlttGGHrgkTCShJwcbgqa\nRCwh8pIvleEsyDwY3xEQIzWmyyzFHqZXsxL6RC2egipsHQjpXTOOjiVn/7W5\nVsjEiODas1QOkWCDyR/t3ZPbVEPz60KD/jBBdC+4rmEJY7OIhfTq8bEQtBgR\nUoo3T0pE6QuP+DyrZGTDRqbuwyk7m5Os1yO637qNxYYAHnr7BgigiOcfpUPL\nhg6DAix8bSt8SZIzUGG3gJdViqi5WK/Xz3cXjhCgQHxo7VHHrAMBmzeScE2w\ngYzWQMdGRVKRrSHgme3cJV5JtDrfGm5bxA0JwX/S+aZESvgGQb6KkpzwYqJJ\nmktuf57MbeSgDXjOhIX0lUEF+JRXDwdWuAoEau67ALHKtAeto19OFP+twl4U\npy3esfH78eEwPC3+2q2Y15+z/mt9US9ZV4BZWkUExDT8bFuMkigtqjraFCEG\njtS3mKvpk9I986Clc7pwEXxCrHPBlEbSOLoHqn/n7vAK2H0xGL3iH6VhybAR\nY35lbVfadvVJkEqes0EjBB4sByy0iByT+DrSDRFiXJprpbEtCA42t3ktJok+\nx5mWBt50oOZFZowLfI0xrO7Ow6dVEMBQpOw1nyJh+P8kqGLRzJ5d3T+XMO8C\nBZ0K\r\n=K9wg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=6"},"gitHead":"9d1cbd17e61bb0146a0c0ef2b207eb100bfc70a6","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v10.24.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"10.24.1","dependencies":{"apollo-datasource":"^0.8.0","apollo-server-env":"^3.0.0","apollo-server-errors":"^2.5.0-alpha.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.12.0-alpha.0_1617926955034_0.7569774793310666","host":"s3://npm-registry-packages"}},"0.12.0":{"name":"apollo-datasource-rest","version":"0.12.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.12.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"41280653cf0671afdce30a39a2721210920bd6c3","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.12.0.tgz","fileCount":22,"integrity":"sha512-6wNQ4krjdjXXzWMZDcJpvW3IrefqVkvkNkFZVNne5+cosejcQKUrZNZko8kYPXiT6WkcfQe4bKZPmOcBHWVC0A==","signatures":[{"sig":"MEQCIFpButZfp1yZmGGeYsKNtZm6lNkAkv2vG9hifmy1H2YmAiA2ZbGCUtIjcqJ2VogzJHON2sJJYW7xjUi5aXNL/e7Qfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88611,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgd3loCRA9TVsSAnZWagAAdB8QAJKrTx0JX8OxE/UqinrV\nUT6hJeBsXB8EYOjwmT2yiL7HWWWoakEx1/+WykMSlYRb1qgRbj0PXLVSkzGn\njsb+F7CbM+U9DQQXCpLloBkNEnwfrmI0J4BuOLA51yl3nVmpbffysamPBptp\nTa6zNZ5dKtWauvUyeLjWo8RV32ihzH7TkK15362Qh+2ei3gJ0WIw0lFeHohX\n5ghtONGnd37XZeRpFmd1Nw1EwI3caO9UUCeCH0axQBsGQhvDFB1crO9Uaa/7\nn6pU0Fr7G9x5QzWmdFO34oHHfQPpU1QA1V6TH2b6YN1fv1Iovt7xxa0/LrdS\n0SjS8Ud8hcKWNopCroSNFQdSUbVdYl6bvnjtX/j6RmxFFOfLlIy9TV3SoPEC\nFcvbd8EvRqwl9O54/8V1MjZHnBte+k8a4AW/YBsTH6GtaqAooNCD8o40fyp3\nCm16eE13AtzSFrZsHPQRfLX6NZ3Lf23D/XgM1mvgtaP8Xj8YAHS7hIYl5XjD\nUWcPwCdVOgcoe0rD+P3PIPx6pygEj+htCXKb/bH1UDELv+nMVZipWIX8XGT9\nIrlGR52uQaHzB+3r8LvmFUvwFbFFs1xYAX2HvQ/RiyptmBjPnokx/q0G9w4P\nnljwJSRn3CV9O3RBuW/nnYy7pJvcnZRL/YLGnfEA6x54V4fWN0r28KfvEyXd\nrArN\r\n=3gOF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"8a4cc583b692a30670d1893c01851259dbd70ce1","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.8.0","apollo-server-env":"^3.0.0","apollo-server-errors":"^2.5.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.12.0_1618442600095_0.6913457898358211","host":"s3://npm-registry-packages"}},"0.12.1-unified.0":{"name":"apollo-datasource-rest","version":"0.12.1-unified.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.12.1-unified.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"a479f64d450809c69a5de44c12b0a75a9d8aa83f","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.12.1-unified.0.tgz","fileCount":22,"integrity":"sha512-lPJauq4hG0Ky4RHrR0LTWf86iKx8qv8lyZ0nod/IijvXk9i3s0qdU63YTUUA6SYrwmqEheaCUkT+D9rDuo6NxA==","signatures":[{"sig":"MEUCIQCqPr77uUd4wHv4tWMXRRJWVCLDNkwANnAFgEmmk3L5nAIgFYcxXw+ZUE/05Ra/uhBAuu/8HoPiCqG29vQ9u8C+074=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggfcfCRA9TVsSAnZWagAAHOMP/jNlx97uUdxnHeYVDFWU\nz1cpP1egBJVzBl0joqfwJaOjpWdwN1C5OlU7q9tnVEACpIxlCFhmrnFmT6Em\nsY+PJBIIUBP+sP7oWEeUszPCb+hvy5lzi6NfCblqA6y4k8EoEx0a7AYF+2qa\nxrbDetXfkH3MhamrnmGY+Ts83kS13iKy6g86JbKxBNxB1b+OT+bXSvCLqyM6\npzgnGqXF9zeNV6XTbyEchRBPYpGzRb6dk0ktbC0H8K+KmetAqnhO9+cZXLaQ\nESEP7seMK72J1ZT0jrjxuH5tvpZGqTSMKn/OoRzOIPxl7cv8Y7FFsOJdmJb7\ndmUq9Lm8Mhsjtg+YiMzV6FfYr9G0SW8t1IUk24tRyW5OIQlq3Af9eQOnpnCw\nBEmR3reeqbg++MHeDGVRZRnz0DcbENaucLyJh31XnZKzYcWl0TmLiPJPGnHd\npoZJ09vU5mAJKRITnER6HyffTGL1N5yOuGpT9xTN19G9PWHXHLDRh3nZRdse\nRGwptb3EhEoPmW79YP7z0R1JdDmLsz/LvLE4mdn41VNXtBgtMts2SyukCSCD\nIFmDhB8e9F1UiHPMkY9QhXsy1EEoh4qUQPUV+5lAVAUHBBS9ECawkXBdH4KX\ns3Q2rZBgp/YAlDYT5yLdGMXj5gDFkHaPOzL44zT5W3a/bx1QkGh+GGyyH5aR\nepOV\r\n=nHEF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=6"},"gitHead":"6972e2379e91b08ccc458a230c6a687099dbf108","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.8.1-unified.0","apollo-server-env":"^3.0.1-unified.0","apollo-server-errors":"^2.5.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.6.1-unified.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.7.1-unified.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.12.1-unified.0_1619130142642_0.5036142724608603","host":"s3://npm-registry-packages"}},"0.12.1-unified2.0":{"name":"apollo-datasource-rest","version":"0.12.1-unified2.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.12.1-unified2.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"cde3f6aa4a9ddd11e36956878e7da5d0bd8fa6a4","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.12.1-unified2.0.tgz","fileCount":22,"integrity":"sha512-bYiKuQ4PtFyRNlBUhUDuaUOsjk5DZZRU27WzWp7gP4a9ug2nJO+E2wNJ120cGPZWn3g8OjCRRaHvfF+VGqmBtw==","signatures":[{"sig":"MEUCIBHngR/ozDgrgaHoHYBqPlRiGhe8mqZXXJEymAMIYG9gAiEAqcTYS4fv73aSStOq6qTaS20mikHBD8YhkELw7Bukk5c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgggNXCRA9TVsSAnZWagAAbzIP/jOFCqrmyTfBUeXe8/bV\nTQc8WF/aC/prCBLR3dPFf8v4h9HE8j+PorKUlZ27qXnlAjwyaCDtff3Vn6KQ\nGdXGp1lDPjdgx+gqFcKww/iQbXILAKo2m8EllCH9gfbmvqQKqmOvMfzqjerT\nS5l0bATbBos0icggqmlw2+AW2i8OQE5R4lr79rF/R0paBAxU6HrNCs8OgoZD\nuvFPCrYjaIrUp1dQAM/G0PX35oTDy/FNZu5SK6mb/JJliyvOdYnPG6OhVrpz\nJjKKThbNGEpWOiaG+c/EfLX6/qsTh1oex6vYry1Ilk9vz5Shdr9gYIVxBn/x\n2xVhEpXWni/G1184p1Aw5dWmvdNPTsZtllbyqkiVpOG4Zo2YwpbLadYiwnVk\nlblAx/iKr1qS3sGQhi8ge5FJrAEZU8SMJGb37/IghiTl0LBfInENhHft6IDf\n0SuNIinNrUM+yzQSES7nf7HploNDQ2woKIMD8jk/vGVyinUL/Wn6xXghvKgR\nTreITt0EqqaMGJ/KMpZj7QJtA9+puAxSeqThkm+vP/znZQHXCFzOgMh6gmpx\nYvViNIbNSxqyy0ycRV4NqDmZ4PzB7nJ5IodZxWzNa9UQZ6McEpw8nN+29ZKD\nECeFdpMmADFhvi4wLvUYmbXOJN4CowMUAjzD5hEapZogSM9Gfp6rSnx6rTtW\nUw7C\r\n=Y3F7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=6"},"gitHead":"9d2889bf59a781fc297672fe463ad4b88e0062af","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.8.1-unified2.0","apollo-server-env":"^3.0.1-unified2.0","apollo-server-errors":"^2.5.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.6.1-unified2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.7.1-unified2.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.12.1-unified2.0_1619133271423_0.02859643949373214","host":"s3://npm-registry-packages"}},"0.12.1-unified2.1":{"name":"apollo-datasource-rest","version":"0.12.1-unified2.1","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.12.1-unified2.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"c7757b8023788dd19ad9f2474a8537457f5b2b4d","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.12.1-unified2.1.tgz","fileCount":22,"integrity":"sha512-sHEbV5GpDg+G50nWVGuDNnSduJ486VMcIh+RkoTVbOLzsdLKMhPxUnCj/kCRMK+Fd5XU8EN9ygfmyL0M8ZtDcg==","signatures":[{"sig":"MEQCIAgmLENzbyBuH+D+73P45Rhij4Wx0AB7GStHVU7CeRkyAiAQXlTISMuoRHDOa+/WqjaVqI6AjfezG6O/6apFFfCyjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiI1TCRA9TVsSAnZWagAAw88P/jNVDGrONml9z56FMetZ\naw42QnXT/PLz5g/l2P7Rj2MP7ghlEUXAjU2ysTgk1bG5f7SrVJHi0G6p8zkK\nPwLeLI/De1iO+ZrRCF4GvyF+sAL+Ab7vkMT/ZIC1x6/mlN+k0QVdJ1yzirME\n//oH1ni79NSEBmKosqdNlW1J6vjI98SUSn+P+NV2rdXXzYnSHE2fc48051KM\nPRnldT0g7rW+Drq3FmXPliI0L0EJHbz5QI8RIOCntLnhhuhCH4pYAZkbD92l\ngfltkCIuYRdXfKF418W131Z7XhuYrC5mLaFOTolhajqjDCjNBS/xnbWiaUGD\nHdVTeuBgZFIGxHOxfyP11lpjFKSCf40hckeYGjnooUrhXFjL9HDMF/kNC/rl\nFu/DahxJUXni4trEfLEObf3uEKWeU2iwbtFv0MgQLTEHS+L+EWtF+3oJXxOJ\ntZyNkh5Xas3OXBkwSAqDgwzuSn4TCq7z70jf2ti4u3+z963cKV3hZjIKUSKw\n208nX/FxClQpGoWcdRbhoDJCq9mAgVg6Xmu11ErgzI9GQ22aPfhinuI1Nqib\n7O7ka4yKERS17XWKS23sbO1TkHy7JMUWAroMj3nkyLa1De1EAdSd3EN3zlmA\ndZvYkSklne3MKsPQgnE+0r12d1dfYcges+9VN/UyZ5Ku/JSY5d5+lYgmyxBJ\nj5JN\r\n=toRZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=6"},"gitHead":"414d1839ae9203ec4d7ea04af4eeb6fe11aea19c","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.8.1-unified2.0","apollo-server-env":"^3.0.1-unified2.0","apollo-server-errors":"^2.5.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.6.1-unified2.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.7.1-unified2.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.12.1-unified2.1_1619561810579_0.7851989332094869","host":"s3://npm-registry-packages"}},"0.13.0-alpha.0":{"name":"apollo-datasource-rest","version":"0.13.0-alpha.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.13.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"a5f978dbd350a78cd5158829ed7c6145c52693a9","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.13.0-alpha.0.tgz","fileCount":22,"integrity":"sha512-YZqXvdxBBpTgCz59dBS7TH2HB+LLUJx7N7cmHonRG45dNldDb5u5Fx9HkQftw2vX/ZRpP30i/vSnnlfh0ttSGA==","signatures":[{"sig":"MEUCIB15ROtx8a9f7Dre4R6sq7xxhtvv+/LoaHxsHG6k6JNFAiEAjIGxrsEoXpHHkkaC8GWcR7NdPBEM1+e6eEaMhi0+FEE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgic00CRA9TVsSAnZWagAA5sMQAIfM/vkvGIv3oaHt7f2u\nBHB2LZlGJonIyanRfAR7dDxOa2XMkrV9y7ZlQnP4bhaGxFAgirj7qOYOHSU/\nkC3eRbfn7XuW4hJphoOx2nCGyYvLLOHbzcujyvvWLBywcwqeOs5LfPC1YE8b\nerV5IK6rHRG++dLFbJIka636R6LZ9+GaOC7EezHHV5+2EBZptiyhykPE1wuo\nuI8f75ZfnW96SGf+k5mGxbMNJSg9ZAwLoxAbL/Zb7H57jUbxSKLDx3QQ49Vv\njaAZRSyOZuNBalJsu42ogZYs8A8pANFnjXv1tf2zumbZYiR3b34hu3SYMr9R\nk6S84U42nucmOmv1HaT2v/WiF0tw5fG6+2JX6E9FFxZ1Uxl0VNvSuGNIWRWN\nKGsUuWfB48h1cGhTPavCmkBKuE4nHs1uA2fSJ8u+kh/iMMrWHCTNABD6a2Ft\n4jnuZ3rwORjSQwegYjvpSDtP4IOmuxL7uyZpGyYgAZA8HRQOOhQ9kVzY6ceB\nmk44AatZkbidB97Hlnt4YO6BYe3NGQYBFSWCLi/E24o8KL44e2JOoiWVwPsk\nB8+g9Wa96RtirTVsaAkZ9yKbpeM3bMK6CFGmDzxoTzR4PwU5xeqvutbwRWHY\nDvsPnZ0sV9JiAgeldFpieAv1I3CFCLjVb/BXQ6RTHVeHCV5mNdeXKDUec5S9\nHlwr\r\n=z8Ib\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=6"},"gitHead":"3415b0708fed87b393d9f34ef9df9340502d2b25","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.9.0-alpha.0","apollo-server-env":"^3.1.0-alpha.0","apollo-server-errors":"^2.5.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.7.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.8.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.13.0-alpha.0_1619643700423_0.1806773916657025","host":"s3://npm-registry-packages"}},"0.13.0-alpha.1":{"name":"apollo-datasource-rest","version":"0.13.0-alpha.1","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.13.0-alpha.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"89f433c8fba5cb2c679c6d187896eeae17223843","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.13.0-alpha.1.tgz","fileCount":22,"integrity":"sha512-p8PxHryEXH28wEYsfGWkwS4491W7Q4DDOgt/XDHPVuCTSzsOji7NEJMZsnhty2WtQAvtBkQGMrsGUtuFAFNDyg==","signatures":[{"sig":"MEQCIEuWp35yJZ/7WccIWpG/f4rKAMSwJQXg38IhuiWSkCIPAiAT5HdMixNzOd9PQDhC7h8BUE1+CSCFl3B51+phbrOehA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgizQUCRA9TVsSAnZWagAAhiEP/2J/VRJVq6EwTR3K+4pd\nBdFb6hzQmLN8YyD9Df3JadYNFBhBYHcdrv1tp9aV3eIWMfdLJJAo4oyz8YqR\nTsFvS3PtEW3mYNbwl1exP+7hZJfCbsQH/0bON6FlV+f1NzNBuf7sXEnm43IX\n5f50IM1W+bR7i7DzG7FfA7azQP4TS1pRcfSN5HwD/kUUOALY/KZSWohtNdJc\nRj+QefVSu+odh5ATrCqqVlnlgyhNGknyz5RXDKm/KiIeTd7lEdYAlPq1Yc0V\nmO1cCNY3WIxsllbAz6Yqp97PZjdCi7qm5M27XMNQ4SM010MGtxyjLEX8dNeQ\nRHk2KsnDRsR0GXa0ImxMtSduk54cY0S7L10fd1gr6GwngyX5MrV6NFqOSisE\nkgwruKA6yQUiIj71VL9D8vEEZvTPd50nH1tuDrPh3T/AIUF1qmsF7wFoRV1m\n2zW5K9TZ4B27ijf91voAY+L60aWBehc14AFwY54pqJl3YBAVdxfbjRZeN0PT\n1AN1kC5hH5GVQ9Se/zCGFzdtsznhXJwZQVfRp/Aj1723z3R+auqmagO/LYKq\nSIp0Xd3u1UJz7jZ7j7y6wL+IQ/ps9OKzIUggdYm5BLv3fYgJlDTlTGRO7TWK\ngdEow14J/64ZxbuziiPU56kJQ+NXQiLU9hZcSlz6j9BhDHZGUfPSu3aBH4tk\nxxFZ\r\n=leIN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=6"},"gitHead":"27275564a9ebf9251ed4e990c4ff1900b6cb49e8","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.9.0-alpha.0","apollo-server-env":"^3.1.0-alpha.0","apollo-server-errors":"^2.5.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.7.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.8.0-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.13.0-alpha.1_1619735572350_0.3019510971769752","host":"s3://npm-registry-packages"}},"0.13.0-alpha.2":{"name":"apollo-datasource-rest","version":"0.13.0-alpha.2","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.13.0-alpha.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"94e10cbfc778e313bb0810ec1f129bb0d0e1ffdc","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.13.0-alpha.2.tgz","fileCount":22,"integrity":"sha512-Xg+rKP3+XhSWIDcM3/+DUUt0rlGUrcVW494VI9lxoTWI6aBAA+jC4IMltKq7Jie/swDv0aKV1whMff3hRfOknA==","signatures":[{"sig":"MEYCIQDYkH+rDQfEj5w8iLlMmmUfQ4FWvtHFLWDIpJHaSdBjEgIhAM1byR6Xt6q81VFb6zYuNU1Hiy7Z+kboPmKLgATnikcX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjA7TCRA9TVsSAnZWagAAvBcP/1rCI6OMBOdNVi+EbOa2\n3I7ro/DJcaY8qlk5fgbMfXeM36IJGz1/bPvczpygj+vSuC91xVotihij74Rg\nV0VZ4eVyWpbqNfipzLt5xInyCHptU8/HLnJKTDlhG6J7Jde32zGQy7E6atmi\nErQaDUgT1x13iJ8a8tbeF+v+4/uvD+fRreo8Rw0+TIo8NlyU4rgUgLnXW1RV\ntFdjtN2CU4nMO8bjAJzCThtqjpyA94nNvt6pakG64Gtve9CHqeoWPM2eFH+f\nM+NHBlj7pCzU/KM46X4Z47GF4wlO9+S5+GVTd47hPpCavLmpa4p1lUrsOvt2\nTTQCzWJWTLCxlb2whOnlyWkX6C/Hemppr5amz8orYI0WUkNn/ZcPZVQUHadm\nMTWC2B7WZSPAmn3CQ60YGjtGbIf4uOC/LZt/K9tYtuYc1U12BQsIRbzdGSWs\nd+obp59dgoC9am02aHjrEvabGZDdF9WGYwsxRUYaoxRV6n/vGinmA02l5PmB\naMp0YziBzMwEoI0SJlIne+JmR2wBtT98FOaK3AFk4flnTMrDjovR/nSFrx9I\nqFtmpj72eUcQUau4NWZK9kJRo9bjrHidrdnG4KudYkNYawOmD9A8KPOXHO79\nXmHyKqL9DTCxCt3eZY2PqXDBuKTN/5xs7k2WBWNnWGFwlOCW43pIvk2FH9bS\n0yXu\r\n=MPKE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=6"},"gitHead":"4e5f03e2b071c2a049836dd14f072f161a0ccd12","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.9.0-alpha.0","apollo-server-env":"^3.1.0-alpha.0","apollo-server-errors":"^2.5.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.7.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.8.0-alpha.2"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.13.0-alpha.2_1619791570427_0.3347915684503735","host":"s3://npm-registry-packages"}},"0.13.0":{"name":"apollo-datasource-rest","version":"0.13.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.13.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"9249228c0c400cac7375299f8e5f12fd1420e434","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.13.0.tgz","fileCount":22,"integrity":"sha512-P7xeajfGWf3MWLYkXGKQJKtptGMDQZvTCFxJfAgHv8dPXBNald6RIAILl3ty/H2w4tJ2gerJ3kYwRFZKbE7ChQ==","signatures":[{"sig":"MEQCIA5JnSkqBP2pZofW3v4esADOHpuaObhqRB2Syy450pY1AiBqkQF2Oj4PFXHr74iGD71pIIQegwaWPBEcS6C5pcefqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjEf3CRA9TVsSAnZWagAADJsP/jcGGhGAoCOXKY+ZwyDq\nlOtYbh94sXDK2KmXIdGsxLzhNQko2NRSYyX+uBMA20o1uAWP5zZOVa8aIi1/\ncg/J9SeEV4IupX/ct0oQIInP4GUAjKmFEf0RvFoMJ5KRy1Y9169BnYwUte0o\nbed8iG1MgRc2D7R41sh1egFsRKD9hBcrIOQarV9rAJ1KN/w/U17rlo6Ptwzi\n7g/X3cE23/cLL8zAynzO07j2m7cUDfZnJqcNnt9+obJ/du26hkUT7bgYOrYE\nTCLSH9LQNWjnmxnewAfIvEj2mWSk5m2Y1CG7NkC1emFQ3vd3LbNsBt1Fx7Gw\nxYGUEqyCzlTIVwIuV1TuXw7FQDrLQ2CnlUI05wPhvpqRqPkHfAKjM0F4eaX2\n46JcC9gSgS5Uqkb1p2zsZCG4bxMMWCtEPMuzCtq/VOmuGQ1oVQCmw6R6CLRT\ndtayitNQT6k9M0EC8DR84Ht9LOYIVWpPRq0/lEOT7WfYwJbtsOCrIMtxN2sO\n2AlLg9+5teTuGZ4sbC9r6nGQotnjqrQ/VKB3UhYNAceQnyXVbz/LLjCjXizc\nPdY9UpSFmisavm7x+Z3ijl3RFA9yaUlF4rfExiHGFH80dIauZRCGU2dRTOpa\npiD7n/dAviG7iL8w3us9fIT77KP42mSFrU9XThYyxp5aovt0cmFAKV52SSiz\nRx3e\r\n=gbiJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"f2349d0e10633ee79bed152f682e53730175d59b","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.9.0","apollo-server-env":"^3.1.0","apollo-server-errors":"^2.5.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.8.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.13.0_1619806199289_0.9619697046322813","host":"s3://npm-registry-packages"}},"0.300.0-alpha.4":{"name":"apollo-datasource-rest","version":"0.300.0-alpha.4","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.300.0-alpha.4","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"c4b281bbd85d8d2c70a6e93d3282f500bdeb7aad","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.300.0-alpha.4.tgz","fileCount":25,"integrity":"sha512-3EJKQ3XbNYdUeZIx/0K2S3RBjQArAiJbFRAuLXzmclHAktMJ0NdyqeQzxdeAjfnXcS9ByN3Akce6fBPkigOsPw==","signatures":[{"sig":"MEUCIAyZDaX7E4qFxHbJhZEfbgqVUV0rNQM9clU7NLXg4xFQAiEAlAgA/06/tBAQkM+k5aDx04xp7laXgf8N3KkXXHwKY8k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":373534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglFAWCRA9TVsSAnZWagAAk6AP/jkjsK48K9cXdm0smKzr\nuTFUMymFDCzAZeroQGNeSGVT2hKDkQ3xgSi2LZmQQVN+9/QC1vSyskXoP8Gs\nvUyHDJ2Q8Eg+9pWjeN7zp5xnCfXslrFAmK8Ysnwl+cEDCVC5MPta0Q3iUY62\nZPoZ9/2hURtNzQFIu8oX1Wig8K3f2tB7oz1WxnDfeLCLTmh8gPPeqXc6bOur\n/Lu+nCl3Fde1M4anQRxaFEbWAxo7qBcVBRI65VBG40PSzVkouS86/rg8/tc2\n0DQ+ELXUhZ70ZJwos/I6bdp6KzsVhWUnsoP2Z1url0V3mbsNt4Tb74679odT\nRYnKJWYA+xRc+fZZDlRsq63w2jKMnFe9ocNH2Lh4/1Dh76Fwgz3kMLsq9c6T\nqoouQBUd7HAik6nAU900gmmYyWzgbAiMII5loBSEz3lzOmrRYYUL2WZJQuAj\n+9LLvyegkzuxMp/Krtd0jim8Z75+MbNwqEXmU+GPxNg3HDKPlJ4iuYIpElbR\nPb+z4J1Bv57NOPcZXxvYyzUAHbtaJIbzEOJdUJR32WVQx6VEzHI+9fsv41oK\ngK2l42p67s5QkWdk3al1W7Pwz531TAuv2w5e6xxS1qTWwUNjgnPuC4/4zoCA\nKLYGS/+ye504bVdwFJxdwaGesOi6SvAVP0kQC2XfYl3agdRHNIWFsKsZUhDP\nZ+dM\r\n=qdbn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"97073f33d30f2d682655eb0e4dce1d7d43721807","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.300.0-alpha.4","apollo-server-env":"^3.1.0-alpha.4","apollo-server-errors":"^3.0.0-alpha.4","http-cache-semantics":"^4.1.0","apollo-server-caching":"^0.300.0-alpha.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.300.0-alpha.4"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.300.0-alpha.4_1620332565671_0.9397969222053892","host":"s3://npm-registry-packages"}},"0.300.0-lambda.0":{"name":"apollo-datasource-rest","version":"0.300.0-lambda.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.300.0-lambda.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"cf3b318a714c68c1d1f4ac0af3a9128ab830015e","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.300.0-lambda.0.tgz","fileCount":25,"integrity":"sha512-Y+AVzscOBApM6flawWotKLMxllwaNBFul1FhROiEe28K+ce2Fmk0Edv/szd4/jSXNEk9k+bcMtoQKCZFHZlVDQ==","signatures":[{"sig":"MEQCIHZczOAERa1fOzEkBro4/sK/Lv3lxCSfVFu3UkEi6OkGAiAFpZ6d/s1ROpX1mHynhTVNEhzB2jmyEGf4Knobg3osow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":373536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnYGnCRA9TVsSAnZWagAA/DMP+wVhuAT3qdYKv0WExtls\nHo36QduxPO6Z/SP+BXWgCFtuWs1Z+9O1JTgRQYQGdVo1QlTDPS3KHCAwWT4E\nWU4DiAx83onpn6PrMeDuMCpo1VjklCPhnWZDkpX2JREr6sAct+doSVYpOGD4\nVv+UFdfldZHARepbFFRXNbSSsUuThRQW/OjRLgk1XioQ2So9Wa48Xno2pqBx\nG7xyXmErDGygK45DzMX/jtnISMVtjwAZAM8qWlkgiRkhzg4yNnskgHcs1kj6\nA6C60kT14SoL48jgqCP0YcfP6mpqybZ/gCEARKkqBH+4xGtBU3btzl+/pQOi\nAuh7UnPpsqqiiVwu3KGbKaeBMRsPNq0Gl9mCmgm9l77cx8uxzneuNUnlJ7Tx\n4MkGuQChYV5HcsDX/ABBIeNqZuESBDefpQcjTS1s13itzzJU+SHteaesdD7d\nJNtMeqPUUpicQw/0xeKU1SGyGj8fg8wnLkEDLefbMAMys8aK0U1mSJH6o2mF\nxcm16XV2cquym/vdYLlB77vHL1bZNIZkcx5iPNylxvq8LGYLOZupmnJ2WPgs\nOef99Cepu3qo9P9N2FnC2G2OIo/fBdujqktJ1kwlMnZuOjVsZCv3JH6xstsW\nuEdw4UizlxPOSQS7V4Tu7jc8J0dDmBWQSPahZfC6Ox5GIvfSFjPTs646+C3O\nf8dC\r\n=g0ms\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"3a3d4984e7a7a31f9338f03d3c219d7da8b87f5a","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.300.0-alpha.4","apollo-server-env":"^3.1.0-alpha.4","apollo-server-errors":"^3.0.0-alpha.4","http-cache-semantics":"^4.1.0","apollo-server-caching":"^0.300.0-alpha.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.300.0-lambda.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.300.0-lambda.0_1620935078922_0.5858183774538954","host":"s3://npm-registry-packages"}},"0.300.0-html.0":{"name":"apollo-datasource-rest","version":"0.300.0-html.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.300.0-html.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"8c955a5ca7884c5c475e1f6628d9cbc5ee977a6f","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.300.0-html.0.tgz","fileCount":25,"integrity":"sha512-XUO9qgzCZpUi7aVZ2oLpULnXkWq5xbmypspW7HJZbhye17jnbrWqs8gpzRyL+E4QE7n4bvT1sk0voWV09axj+A==","signatures":[{"sig":"MEQCIGTbe/C9chrt4fUzq5IxaTpHiaX5h/cfCm7t123NZvaWAiAhePcemaWyxDtiJZHF0NdUPA3qv4YO2yQwm+j6FdqSIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":373532,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrH6DCRA9TVsSAnZWagAAmQUP/2JdsPUGYQ36JFa10j/e\nVPzgr2iGLYJh2SF+dFsZHgwrN1+Elcsor3A2hdVzPeTupksqtGwTGsJKQ5rx\nKUNwDGJw6My3LVKuANBDFUawT+fkPJc2+9uCSQgsuJCBXO2paoV2v5Ep4rAj\nooWz3/aFdFHDOL1nkI6OKLuNKvUm6Lp52jlqwYpns3Ja+owTKq7/rML9ttRq\ngNhv2cQ10LiZIZmMS9sTT+2k34XevJ6/TlJCgGkwWfq4MxGfkEeY3pVLxagp\nql9WIhl+Dam7xMHKoIOz4vDk7aTjXXzwwoIURGZAoA5tMbNEPYc7qlgjMpwT\nKGOpSLJ7H02fPhtVhFS37K4NCBM2q+iz1oUHqEClqgyU6GZZSOQtjSOPKIo0\n+V735DQTyQcduI94o4CqKwBUc4sUG+lNErCGs+DNVzO4+bb+so79bC++vpBi\nFVafNTtVAXhEYBDbpWTdch0FJA7e13fllhK/R6rQHxc23qfll9lO7pYfZlgS\nr330Kgx2MOYTd4nlf0m5DKGETcIi3fWIb48mlB8q7iFJyEGMUXzzlUhantSd\nX2/fj7p+RdTcHsiLEX7DBrdk5GQW6LOwAAwd+qElIGFTpz+lanrRnlFZX+vd\nfy7mErm5XXPUSv1jWmuM/g1v+PtVPsvVSpA5q40D93BHcVw4dYH/MDsmnM7W\nIhOt\r\n=Nu38\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"ee3ff095c8818cbfd721639741481703fb4d62a0","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.300.0-alpha.4","apollo-server-env":"^3.1.0-alpha.4","apollo-server-errors":"^3.0.0-alpha.4","http-cache-semantics":"^4.1.0","apollo-server-caching":"^0.300.0-alpha.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.300.0-html.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.300.0-html.0_1621917315278_0.6408490451549913","host":"s3://npm-registry-packages"}},"0.14.0-alpha.0":{"name":"apollo-datasource-rest","version":"0.14.0-alpha.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.14.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"7a93a9cb6ec181eca3c29f52702af5285246493b","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.14.0-alpha.0.tgz","fileCount":22,"integrity":"sha512-Ihujl8hOa6fOBW1bUgHkFWwnd7KZTWzB+sAePA23HT0d4/ggPhqiU7iR4C5vAW/E8TiU/fUJExOVEObPH/ECLg==","signatures":[{"sig":"MEUCIQDF8nB7DZerXKGuTsm1VgiBqO1ZQdjj+0WcCNa1FxW/MAIgKjgYePQkeTgFFkZ1SU2cVPYZlSOtptQqHESBEHTey/Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrsw0CRA9TVsSAnZWagAA5/gQAKPxqjntW6dP+BY79yaH\nP8W+hkcCAMXw6uFgNmflMOqEO1ZOnAq9+19PNId2JE2V1WHAz3hWrUIENSki\nVMd7iHCpGQ9aw573bDlKqBj94G2MumGSk1xoZbuH8Nnsx5wvPNo9UARsFJH1\nwRFr4J7/REXsVOCkcAqQ1+A7F1MvDYI42XdrfpKme4ONs5vM/y5XEbUqddFd\nQflqjtbWwixW55JuRtt8QcqfZbHwcOxd25NgFOhLjQ6IO/EDLgWO2+R58LWN\njnPrFLlFwLkMp7XMaK5fAUl0UvLzRpNqVwQLaAoUnlOjHI0ld/qGQ1atWBMF\nAa8UGbXB/CZNcnJgB4bufAV0lyLsvwrCMqnEFyNiQYUyAVF9yhW4SikP5Ott\nSBKyO4tC+DpkrcOJ6z36NHOv/bsfBedL4TBgHPVOa9dwfVSUJrvQaGjuvRni\nCXSzehoI8A7Oz0jGIgS0EWliVyPWTKRtDp+e0FR+OCoAX4qDAUgWa/N/Ji4K\nzL8UPgMeJ1+ob6CdEUqx2xxlpLwDYlHeO/McNXTiB79WalPiXEyWVfmf24bu\ncM3RC1oPvqK4HT8kcOGlHLVZfD0yvVQzM1Dc02Dm3ztE+AafXO4yH9hZ7O2G\nbo0M3uvrxGyyIDo8Dwx/RwYbJpDtWUFpCiNAV246p76wCMKdFVs7JuBASneK\nq6xa\r\n=IzgX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=6"},"gitHead":"c8c07483f914a18c07cce6435dcc8816fa795c34","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.9.0","apollo-server-env":"^3.1.0","apollo-server-errors":"^2.5.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.7.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.9.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.14.0-alpha.0_1622068275513_0.17316537988845981","host":"s3://npm-registry-packages"}},"0.14.0":{"name":"apollo-datasource-rest","version":"0.14.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.14.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"8bc2e581a5086a12f8ac1b36125e300bcd98dfbe","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.14.0.tgz","fileCount":22,"integrity":"sha512-OXh+kbpZPx0F5fNJLYmxIa8Nt+UIC7oK1pnoWtLMDws9/TiICaG6J7SHHAKnz03ZVnZ4XE9gKtm9RTCjCYJtSw==","signatures":[{"sig":"MEYCIQCc05KFE+LPzYtkGOCuE6S+KBlULScCtPjlr+JJYPYcEgIhAJZFTa2EVTjWoujvHvUWKonwZOtoxsgrKGp3L+cUb/16","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr69OCRA9TVsSAnZWagAA9scP/A88Ajg90VKVJy11U+yi\nXyElumdW7XW4WKsZLawm42k7lFlE/zZY1E2WhLeYKe37iFAdneE+eFpX7mvO\n3Bsd6kKcx5YGIHRsMOyCjI7R04d+kxfCCRFM9SUj2Cxg0j3S2xzzD1a8TUm3\norhJI7UT1tl4n8FHD8vzNwA4qK4fZD5bLlWtX7bu9VOtnLuepHW+qQgYTbzg\nOBp1DSofczi0t3VLP3I3j4Mu3Ag26D7xtYh2/G8qBiKbdITv0F17joJBm4Ib\nlXOD/iNjd+8xlX5mtFSQkrZ+4TmLB7SChsJHfi2T/BagK2o6xoVoo+Tm7GQe\nW0qh1122PDpqRLNbkrkpo4IT21HcXodnljO0034PN50LOu1UvXVgxJP8HV3g\naoy4xerWEOXV4zqNlLMvJTySynRGNZ+I+t/wnQTMzKv43PVQ5AnG0VPTAyO/\nRG+aCGX9QdnM038p25t87rDXl8RA45qf3O4kyNq4XWDvXlmSv9yc45oP/EzM\nUy9iYJTCjm63kle9bXS0yP0EQiS24WF9QEOnPQo7tfTHZ2zTVdCeo0PdiP4C\n6spdvQVZxVI005TBBpcq5Ma8p3ThiO7s/8e+PDecDGDTeNzgSrjp2gP+/xw5\n6/yX+VoXJqFvPBL6HJ5E6jAbvzEim2hKi6Jv3AzyqibGy9EPPG1RVFYQ9VGY\n0c7e\r\n=IbH8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=6"},"gitHead":"42983b06a381aee6333fd11d5af7bd7fa0d549ec","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.9.0","apollo-server-env":"^3.1.0","apollo-server-errors":"^2.5.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.14.0_1622126414079_0.8280385725367092","host":"s3://npm-registry-packages"}},"0.300.0-preview.0":{"name":"apollo-datasource-rest","version":"0.300.0-preview.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.300.0-preview.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"3a6cafd6e4510f33dc4ff1a9188f683d3b0462e3","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.300.0-preview.0.tgz","fileCount":25,"integrity":"sha512-a/QADBTV/D87Us9Zc/bp7ZhBY5+I3FB+5feYe2io+PicuQBYQxdbW4vZsrf2tKiBBjvch9qIGIYlgMOpVTIaOw==","signatures":[{"sig":"MEQCICSwU9WX7e5u8oO0aHoAaMAuQ0BF7tula3BaD5t7koiDAiBxbM9wNKhKfzT/FKlHchcqWYd4xqRGK9yny4J4Xd//Zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":373546,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtcvkCRA9TVsSAnZWagAAJYwP/2F97Nm8/z3wdQuot368\nY4gB2FGAvGGaDSj1ydcRstfsjGZdgrmLPmBNM1WavGWaE2PRRUmPnmxvyUzW\nZ/cdZ2qOXX5Rj+bTcUUadeeDBOTqWzOrDbnJyESuC3KscUBR5ukUDh6pHnSk\nzAZ6NhNFQlDCKZO4gVc7kTFwLlNsDS6ojeprLHcKx6mHNknAlwc2pFefxzOn\nQumrZJ5a9QhImCFpLWtHexk8wZrKbl/dqIa5wstwLpAYyJJyPlPPAo4fPiQw\nT5ub9E1/bjpia+WYY4IccbZ8LYI2ajWRY7Xy+KQhC4s9z+EuBuly2FLr4qtS\nwc6bP0vi2UhHc5xxXY7Wu73TJcJt8EHFEYm9gm151O1Vn3FBcR725qruD9bi\niOb2sKTNpjZ02W8UPb87pLmd/S7sJ/qwXipjNtdcCwSlrfW0IL7jQGj+ae6K\nXkY2adugKPAIeCft1ejylTWbXtm2WakT9e7YH6tKvT+HzkM3Tq5QNoEy+9K3\nkCrI12VhLIZrLqzetN+eTjSbORG/+po/7wVpDwVBD7Zz3bg69p1qq3m/xGBp\n+OXUa67Y/a1gQmvmCzrsGll0R/dYec50g9cn5zjQsDbDoTXkQJiKFmlsK5LP\nx7WTQ8dNdeXyDMnxZnbBgvl83F/Fu3Ecq7MhslQpQSgfuwdx2629KIfn2T6G\nBo0A\r\n=WxRG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"68b776f0a08d7361efecf40e0a9e344b19b3e4b8","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^0.300.0-preview.0","apollo-server-env":"^3.1.0-preview.0","apollo-server-errors":"^3.0.0-preview.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^0.300.0-preview.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.300.0-preview.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.300.0-preview.0_1622526947640_0.8543947749602978","host":"s3://npm-registry-packages"}},"3.0.0-preview.1":{"name":"apollo-datasource-rest","version":"3.0.0-preview.1","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.0.0-preview.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"cfd44df0b4a588f9768f4066a072991658bb5a1c","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.0.0-preview.1.tgz","fileCount":25,"integrity":"sha512-/kTPbhA6slQxIIkD66jVOzW8di+F7Yn2b1lRDpFc9L2VkXNUdZeLNNLgqVB/c2d/ZC5MRAf8WSi2/K6q5YLq3g==","signatures":[{"sig":"MEUCIEX8v5wZFmurkzTOv9kCfpJCPWm5yleF1K0G7VtfJNlFAiEA6W5zKrGiyB1kQTNNBPjai8tXVBi1XjCCWxf9nXMbtEg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyZMeCRA9TVsSAnZWagAAA+4QAIL8U9WolfvGs+1rhG8F\n9rlUqJnVulFneVKux1fUvZ4Iy5tZvpbbDHEUVugS+XQPA8iUasbbLCGg/6qT\nozo6iCaTGqeHVuvZTzztVu3KY+6P+OdHsTDqo9+/clJSVyuAGoTZUmV3LiDK\nZNMUwssP6D6YJvnBFv9ah7CK4prBgk/VKNzlT1MbP43Wr7EiuONbJnwkOHBT\nSfqMuSqmFC1bXIXDbZlkr4A4S+Nxiq2FgMStKf9s1MQWLXW08x/OACKdi8Xc\nZLKZtqVWouIsldynPW6+vIHjLXB1z3JH1wOOPJpKGidCuq6wV3kxeTQg5uen\nvSSwZQALRomJHqxoGjIET8TigYfhulfAk7g0Bl7+kBic0nA9QXz/jiHRB4Xj\n7PSsOQexipTpawKPhgp/q3mmY1OsEvoAIibbWcrKrTjL3yt1b8MjalQug2Bi\nNCxJJYjqwSCQs4xWtD+fcmQIApPGzvSBxmu3g6x0HRc7GFnS6VQRKMhy33Oq\nLZ2BsxGsfSlYOyUj5V9aX7zVO5yCulj/QClsdLenlrsuo/dkh7EANRW+k7Al\ntK1O1IQCnqj4Ut1QpAgdjgXOHP1UjGHx7BEwNrWgikEbHbQRsMS4qxjPisRV\ncnlxWWW00nPAPgpYUTFBFlshLzPFiX2G7XoJT9rlGDsAUMYXKadps7IgeUFY\n6PeI\r\n=IBqy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"f23a4eb1aa5c5ae8cf83a1f41bd9bae3a03d3360","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^3.0.0-preview.1","apollo-server-env":"^3.0.0-preview.1","apollo-server-errors":"^3.0.0-preview.1","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.0.0-preview.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.0.0-preview.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.0.0-preview.1_1623823134517_0.9229627787955441","host":"s3://npm-registry-packages"}},"3.0.0-preview.2":{"name":"apollo-datasource-rest","version":"3.0.0-preview.2","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.0.0-preview.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"f2d12958f01a0ec887e984586905ec3b8931310a","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.0.0-preview.2.tgz","fileCount":25,"integrity":"sha512-fhLFM2ojGp/rgZGhXbiV+thvdQZbjUhgzZVPXPC+Mf+hrTxa5ailr+KFa33fELNCjxczu1HOz263AxUN2P4mvw==","signatures":[{"sig":"MEQCIHLHRaBPM8qWM+njaqK7Vd3vv5OylQ57A0aQ3CQPbH96AiAsPaVLo+BPv/HFR+c1MX+X63twAJg7krVf/B8VdJjc+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyZcECRA9TVsSAnZWagAABLYQAIffhtv2KEnVrwTYpsOG\n9OIPHi+WpeOm+2CVxAbaZfhduEje+AFwBYHplemfuWCqZeBhamqlOV18iKvG\nBpMJm0by+ALjZRwbU03Q1ndry71TxkGpkAmVrp5+M/4QB2ttePCExbs73tvZ\nBwOc4TieL9TKqEWon84yy7vdEKafSgAsF2LtGqIco659zN9eiMIQ6ka5GC4q\nFAUFCGlzAallHlXYiiy9rs9+vlchFw6KJifCWlpXcDbhYTvxrkOvF3AkWPyG\nteLUKbPIZ9uMh10Tp3YWVgtFmWONlFIfcDv2EyuuiDBrFKh31SqJcmaMvxYE\ncHJ4ERONYwW/bAVP/rUw0g6e4jLwB5U+eeghT7FsoOEQw056jhBvLz5IYEfB\n/wlzMNTGfIgZy1STcEtmptasrDn7ZUmDEdjSqmjyMs43QjdOUtiAPmP3qtLK\nEA+0uSY2cdkoQRWhPiKO6mrqMPVHdGZzGofSl7VUmQqzR7lzc4wNO4uPHnxN\nx2fVzMwBNx8G94zS6vNgQWAmdadPpHh6TXSO1s0h3wn7qcGYKdp/T0YCkj8J\nUjzjeFPGG9/kzVgmwRuUyG6rrhMiFl06wTHlFZ+usJ+Ph8//UDig3B7qbi29\n8LunC61Zz/bHMbK7nqfmtU28ov1KQfX6YHI+yVaxjJVcyh9HaiyDNoj0H2oZ\n/rUy\r\n=9sqP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"09dbe3e7029ea3ccdf16538699848f08bbed3904","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^3.0.0-preview.2","apollo-server-env":"^3.2.0-preview.2","apollo-server-errors":"^3.0.0-preview.1","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.0.0-preview.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.0.0-preview.2"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.0.0-preview.2_1623824131976_0.04261722499590892","host":"s3://npm-registry-packages"}},"3.0.0-preview.3":{"name":"apollo-datasource-rest","version":"3.0.0-preview.3","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.0.0-preview.3","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"5816842e5ca6209819743c310618631a315cc567","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.0.0-preview.3.tgz","fileCount":25,"integrity":"sha512-E3r8QjDo/EMMDVTwzDGfJ67KYdtPSKOp7l6LsK+cB50qUrdrxurcR6sag8oKcaHqSWvczu/Sszq88XjbCxkqrg==","signatures":[{"sig":"MEYCIQCgn6qscO5xmSPYva7TKbtefVYhzVtgrjqInPUmv/KuBwIhAMPq7KYk8vAdvRl7zJBwTewZ45malIXj+njLqNSppZq+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120631,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1r5yCRA9TVsSAnZWagAAP80P/RE0FnWmkf7jatsPA5Ix\nh6IxlRbTUZoX4g5Fm4c3xTNfDa1SwdSlsjveQ7+nLbTggQuiNCGN3oSw1p00\nXVyqQrgsdDQF4L5V77stjriLaELk9yr2U5vMpj0pGATbUxsO1DkniECIVwOc\n2neKmSzSzKn5vg3qvGq/3OfhHOURVMqF0c5Pot1e6DCyCLNvm7MxpD+CR3sN\n78phbM5rNgQvOQ4VArFyLedtiiQ5LK1k6T6q0gSCef8Kr4boC0hL3vtfOFel\nA4CLvnwZQ/KYgVsMtYv15dBms1qvP5cyweojLAwzYoQ+kSskXkIf/KL0+MYy\nokBlgIPtN7fBxNPxddNh9MECc2irnbmq56mikZj04Vudl/3T+8qFTTYbxuwY\niPQeaCaiqUmWFugqF3v6YHkA1x/fkfFoWnyG4k/Jn+MeaMAO/GJlOkLlRXlg\nCVrj0DsCeD7fHn1Cs1H/U/M8JigSzqvDDxJiuFTs6niosRl3ezXMraQhIoup\nzMb0u7DZf74n2xbrMHWIgvmZlXeAlFhkCMQ4cR4Qbv8tEQVls8SuQMxEDem6\nrIvREU1GCmPaGIFsniNI+Kn5I+ksS26vYFVOu1QFWLd1GZIChR3c2o0mawjl\nD/kN+vo1iABvMzaBnHcYCd9Pv6YgWQKVuZyAaRip37cSita0FonTkk2EhEbI\nTzh1\r\n=LE8X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"16c00c982b11cf91ab8f208f88cf587622fc5dd7","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^3.0.0-preview.2","apollo-server-env":"^3.2.0-preview.2","apollo-server-errors":"^3.0.0-preview.2","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.0.0-preview.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.0.0-preview.3"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.0.0-preview.3_1624686193697_0.1690875352165513","host":"s3://npm-registry-packages"}},"3.0.0-rc.0":{"name":"apollo-datasource-rest","version":"3.0.0-rc.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.0.0-rc.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"91cdfc5abf2aea3248ff537776fd67ed1575c949","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.0.0-rc.0.tgz","fileCount":25,"integrity":"sha512-8NKFMkcHF67W0Vomoi8ViP/R6FOrJIl7MAo01M0xT5dCqcdV809vBI1yuLT0v3GnMm2+VKJTF8Faeh2h47rBLQ==","signatures":[{"sig":"MEQCIDrxydheThv7H1dMifeZ9ZyJUxd95Ut9fiJULGOe09ToAiBCUvwfcQf5MOQO6JIBjPoniVHlHklgFVvYjEZiuuetkQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3lLQCRA9TVsSAnZWagAAFCsP+QG/NSOwC+2DLLfiPKdo\nM2tZ2UYIHH9EP35UYpMYeoNDavboYluMetDkVWz8iejOaUrqorjTeMKfocXI\nqU2c8Mmj0lSC2ONuveCTfd34Pv7vGw8O6/tidlKHE/Nc4yGzYJmlYoz4aYh/\nkpNr2y26hhsiSr6/H2mh+Tg/elHmr3BLiSl90ZonbOZKIoi4xwBTREHDWrva\nNjzFitw87InRvawrIvcQeQ9M3ESXYuqjKVEfNldNcPhyt1S/cFTal9ohlEQe\niZC9KmP0Tf/+e9voSTajoryzD/ibMkDDgkWzS6bCOthpntBEXF3i9olnaxdn\nEX1lvoZhq+S/lHX9+/USWNsMv3vZ6SXFm7ius+h6hoKIAezKkmSto0UbwSSc\nGkdeQ3SEWALidv93AbMJgz8iVQ/Gb0r2VSdf33GuBe0KrQwZYVMvbBCVCETu\nHtoOOuJcqI2O12qNJ6VfqAHVdS7YWc7eYkLdR3OdOr0sdkIbHXvtIxW2dhJw\nyMBjrb8dgOAmbHzYLj7A5maEbtKwJ/rSQwsQsvbLtfPbSdCSVlpRPfmbCRzI\nYyW5FNtEfavca1SwyT1PO3eh5kTy3YUciYkTKgELMm5RfQd6Arxv0wowW0Bv\nJ3Q1Ygu2ydyJ6O2asLCUCaWfWVRdR5Pe+6wxRDPwC7yHXRJ/dYle7Rf0EnR0\nDV5J\r\n=/Omc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"b2c2097ddd58623815112c0e084761f426d2e435","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^3.0.0-rc.0","apollo-server-env":"^3.2.0-rc.0","apollo-server-errors":"^3.0.0-rc.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.0.0-rc.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.0.0-rc.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.0.0-rc.0_1625182927596_0.06288152453714435","host":"s3://npm-registry-packages"}},"3.0.0-rc.1":{"name":"apollo-datasource-rest","version":"3.0.0-rc.1","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.0.0-rc.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"e0fe13a21d28bfe60a65f6c14493720fa04937f6","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.0.0-rc.1.tgz","fileCount":25,"integrity":"sha512-ANQqwp4a8ng/j5q5CqBDfhkgFnlziqnFZbpNOzzDxav6rIVHPKNM2fyrz/V+ylun6KZsj+EsFEBlIWPI7rV7Vw==","signatures":[{"sig":"MEUCIQCPwaWWEyzuXW7OekXnQ+vwwXV9ux9aLvUu/SaiyFM/BQIgB+jdKFzQkXFHh8KTSe+kCaHindxLLp7X8E8E5tzLtQ8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg34mxCRA9TVsSAnZWagAAidUP/AxIZnIpUY3Wbx8QPR5H\nXLvYLuTHHMQ46rRvBycS7NCJZ2a9Ld7Ueya/baKeR00beJHaEgb7LlRXacaZ\nifLssFEsGVc5QkbjD1hRo4aaglp1COcFFhGqccEjZdr0MtW6YXKV5QFCknrc\nGkq4kZCZ+5dh2AB0QRn4aTsa04hAxSkvZwSqaYiR5KdU/ZyZzVzKx6lPDst+\niLea2rQirc/AVy2eIBtaljiv+5CGiYdonV7T0MzDSEPZGHKIgjNfb7Jy5Q6e\nC0B8FjWyHyU5+KMpaviNbj6dloysGD37gGhiW3pnkSNHOtKgyKRVJhBxfzd8\ncxK92Gf87CuvOlXId48wrjX3D+vW9WcWS7W58naGmPqUybkG7Vq2i/+qGtYL\nyuLqu52N+ptZv4DwAZRfEE3RuQkAERT7zXm6ooeO8p+0GErWA+/d3glewDaG\n18KAIcirRewCbe3KgGI7vS00QnPej+TzH45ef+uYveF0NGJ/XWMxi0LSSvOj\nAacoqsDtboL4Q2W+y7wanux2n3neZ9AAWipjV5BpA6KfVITDg/vhqfrm5CDA\n8eIrmRdk17iJLaTMqGqhiHBo4Ei10bxPG/WFS2a1PY1o6aImy1e+CoC+gfFk\nYcsWlGFQm0nBNxDH+56FlY9aBO6GQQZzVmVDTc0iNWeSIPK9mXyJz7z/xig0\n0dIE\r\n=TKo8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"ad2cdb557da704acbb42bcbb36086e35264074db","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^3.0.0-rc.1","apollo-server-env":"^4.0.0-rc.0","apollo-server-errors":"^3.0.0-rc.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.0.0-rc.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.0.0-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.0.0-rc.1_1625262512845_0.049193133355628804","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"apollo-datasource-rest","version":"3.0.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.0.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"0ff8eb585f0e3a6e327b6d39db243669dd56ef23","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.0.0.tgz","fileCount":25,"integrity":"sha512-pjx2uOvQSGHCE6fEeItTUniqYshL3OvD02ybwhbISg+7iQXKsyvgYKDgzY77tDjIiNSdUZsFOkNw2lmfnORBxA==","signatures":[{"sig":"MEQCIHEm05SRTjLfnJXxHyS9glV1H8saiHkc8XGpuYDhCPsQAiAjQ/cE83dBc2Bb+OmDcUJWanzpuIWCttiMMJnsfITORQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5e/HCRA9TVsSAnZWagAAEi0P/AlVWdT74aUB9jhk458d\nG9B8RJIA2lla4msksfuEieVTkCwD7KxU2MLDjXli3ACMScVEGRw0D85SRUuM\nRIYvIpbRDO6+UxPAEykFOy4st5X4/FnWH4pYlagnBjDu2hLZ4s3DGyR6ZSrm\nVyHGaE+zCT5JBugDAk7iIr0SXBQDC8KTQiKAlXFaL1QJ392mflITZS/rwf5G\nWJxp3/azEXktws2jGCom9Rwd5dOxVLj96PQAfU4n8yQa5ayllXUfU2cU1dQ5\nDs6AwByo2FTcyv4iY4i42ESVr7wABGx64zM7K5nCcz6wJnpAvROPccCtLawZ\n5c9QS/rWs+mKL8bs8SBANQZ0G5AgzzFIyoIW8RCzPjO5SL7DZr19a0VfknZz\n8HoOXRshGT00jrzN4MfP4Lvpjmo1NFXFATmiyZQf6HpYxQqI1AhSSgzqZniB\nR80J3FfHhsHWu45xqh8XZeUyJTksbdtIe9C8hUV83Z9fjz/T/rp+RgD5Hhnp\nh5Ksg3cqSAFHqh3lfPngXrRtiW7eLSarQaeUyKX5Jyf31XrEoCISl4F6vOzx\n8jqc8t4G02Uvcoe037czwHD3n/Vvk36yy08ucUoqAb/JAP1YYUThcJ+7FNvY\nPgaVFysApXq1rnwMhZvTRIHZuSYuu2+ilE/GleK+dGU1YWqTcJ/zRO9Mbcpu\nWRKk\r\n=2GUC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"bcfd36cdd01f9d26d0a225aa62a79c6642cd743f","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.1+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.1","dependencies":{"apollo-datasource":"^3.0.0","apollo-server-env":"^4.0.0","apollo-server-errors":"^3.0.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.0.0_1625681863314_0.4340003998409965","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"apollo-datasource-rest","version":"3.0.1","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.0.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"5fa9d6d485fa889189ca4e5b4f2c720f51de622c","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.0.1.tgz","fileCount":25,"integrity":"sha512-mnQQLpQyxuaoEdlswclkRm4ggMwfKJzx6TlBxs99ADPqs4pRQv7Za4Rp11VG7KHOsSIHkCtIgu+fQmEhN5HhRQ==","signatures":[{"sig":"MEYCIQDJ+v6G/yeSL4VBiskC69T99kIl+MS2B2RZSk+G+QY9kAIhANdcjpJLPMxe1c1QEURwrda6PjKdzUkj0uQmUTeC6usi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8gvpCRA9TVsSAnZWagAATboQAKJ5fMgGN/WgjDRdOi1/\n6eF9m0jrGQd5S9p+H/C/xZprXohOzQMLYdV6rBPszW7NcfbcwOW/QePnF7C0\n4RyoDdtx/Og5EfdTpKYX26GVLeHj2owa0h/y5GZF1fZpA9C3bWJ5IAAhVWGB\n5tO2o3TkJckRhq5IB44etJiNfQaXo1vfWKrk+qeQ9D05uc4+u6kv106XAaC9\nRoFcu5jVUxStcluZaCtKYcw/g2XIessGmP3Ej9AJBFVYlwJlxCaFFxxxGfmZ\nC96mtm+hAf2jrG5nUrjgJ29QhjyvTk/VwnsnLjqdgOwC372Z6o4n05UVfM9f\njFpvYAOIZdWlPXbY9b+qz4q1GKFE5Ycxn3Zl2RYCd24dWf3oMJ7Hm5ieE4Wv\nbJ6kJTwrfDHQo4K/TZU30MRuWnB6GemuYcOHmkxqwlOh0lkL8AvvWs5uESil\nrFx4u9vCGbK3LyOWCIJ/8/Ufc6gmLR0wOJ9/sBgEsc/iw1wQPQRbnRWrNRl+\nhq6WGmHciTtPkwfm47xZtitdAJkY4FnSxYiIuRsrFDZ1luNMEe8W20HPnj85\nXB/e8MSUPY77GhV1Garl8Q33HoSh7cgsgP4K4S8B3YEVhqkczZiohEu4f53n\npPDtgvU23VjQvbKxJqamdPSthqVOnCLbG3OhNT6/6eDWir6hT8qaFIBhCVGh\nZ6Q2\r\n=eI0r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"856f7fbc151ebef4d6ca8a9efe801ecca3d4f9c3","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.3+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"apollo-datasource":"^3.0.1","apollo-server-env":"^4.0.1","apollo-server-errors":"^3.0.1","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.0.1_1626475497292_0.17681934157431267","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"apollo-datasource-rest","version":"3.0.2","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.0.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"12b36972338a11d223ababbd4c68b9da4ee66d05","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.0.2.tgz","fileCount":25,"integrity":"sha512-U5jz3AryMPfOO4Rq4YjDe/WI2xcw8YHzkc8rmHewrfIqzPLXJo+RPT7bARZfN/Y1yBbodlbWixEi5NJoQtGqGw==","signatures":[{"sig":"MEUCIAp6jkWIAwvwIA7gTvtQDGnfVWuuSs2+SgF/jFrkBnYoAiEAgPbMmBBUw1JxGFaufi6VDft5rgwiZSYsk1AkoPtZCBw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9wegCRA9TVsSAnZWagAA6XwP/jMGGMMolPBVY3GrAty4\nZCTW0kIzKM15QtC6PSiv6Pmi+QEYzZScao3vgLF+U7bEVWM+ml4bYqTs50WE\nZBy9nOSWfYisP3f6sJbTh0H0zKl4QVTlxqe0N4cpBfjIOqV6Vd41td6SV300\nbLLdHyyCHfmJaz6wWhB9Ji0kYF//swVSeCOpdpGZeYYsyTOl/eD5i0fblQuO\n1scfjSp1Bvg92C4Qi417j+O3emlgOwyAgWhnFphZ+2bIfr8OfRgetuBX29HW\nrV5LYLwmACJAU6S9zARY2+hsklTq0hllQZ4TSa+hNOrHObfGriezg8oveGH4\niI0wS8E9vHzxZAOxZ18gEpb/eobArln0wsF9CbwtSJytShpx4sd/MwPT8YkT\nmdFZxgQKA3DSn8D6BjBMZw8fsJqz0cbbcfkoJs14eWdSNJ5M0ueblj8XuviC\nbGwqPGe6qcpWBCDXP4lPqrzOJYlwNmLVPSq68dKJyUoXo9ZHb/xDPxH1ChRU\nVh5LgkpxRcqsY1BBjx067y8y86d2XuJL9XYzIIb4AnjPP4y67B9GxvB2j/B2\ndYUwkFhuv8864C3kBWYcAW2ZMuSe9yo6wjUI997XEZ5z2IEtYTFlzW/RabcE\nAxXZ6voPep80fjUKco5wUPfc55z7n89r8nRWWH54yUOcjCN5wIglD8hNshWJ\no3FN\r\n=psfI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"69577df0b08d392e99d65644a27d48b9b925dd94","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.3+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"apollo-datasource":"^3.0.2","apollo-server-env":"^4.0.2","apollo-server-errors":"^3.0.1","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^3.0.2"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.0.2_1626802080246_0.04234326615374551","host":"s3://npm-registry-packages"}},"3.1.0-alpha.0":{"name":"apollo-datasource-rest","version":"3.1.0-alpha.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.1.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"cf89e180b385ab5777f618f7e1b48b481b3aa8a9","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.1.0-alpha.0.tgz","fileCount":25,"integrity":"sha512-ZiA/KlxdA3KboiJP2qnUARLiQyGRNtEf9VWgkXPVQnnPYJrEfOgYEJs/HoHd2FDJXoZnB59cxL217syAqwMTMA==","signatures":[{"sig":"MEYCIQCo/t7JxGFQ+kmxx9BizoKLh3PtMqRIC4VJ/Jm7zfciLAIhAOOXUvcbATr/55EwPiV8wyKYOENcYaoZlFf2p7P19Zt4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+dOqCRA9TVsSAnZWagAAf6QP+wbZFPCePlGyTvACXA8Z\nT++Pm/zkqocZ0D43Lt7cc/AmPbswPHQawiXBN5qqmEzPqS4GGJxA622gJ7lM\n8LK49Y+W2HeooNXRJDQeacd18acE6LmKDhZDDXqkcMf/TM8V/2yxPqP4FwSE\nnZ0x9vGm3B6JXe1DrzOTsUc+Ni0yHJ3MCDJZBdQwk72u7qY1Tg8lpFPYLn7F\nqXAVGnzvODRyj1wcrH9vmAxGPttaSo5J7esvX27cBEK8yFMxF0rNIlNI9tgV\n95hyusnE7681T+dX3F/i8ak8WwPCN0YQNHgq5uFledICQb1iHwL7gScw0Z84\nv6h0UPu+dhaiaMWQqa9ftiGNUwh0nXNv0TZ2icwBJMU7lM6TVFp8XG4JiuA8\nphvJbuSVuQ9I7fHyPKyG9K5qCGBg/RPAVuNTvEDqXDZratb4jjHO2SXZwHkX\nUlBLOJFEcqCSyfeRBkwxOAnpLLEpq8avvbTzdaFtur9Y3DP9SyyJL+ZVDOWh\ngdNkeAvMH7BCkJoujRBA7aH9C7xJ4nzHl0IU5z47/uy8Vg4Gwk+Nzgfr5AV5\n7A5+vuy9Aa/73qUIMwIuGDuaRVijWro0sqJi8zDiFA+eN1hzc8WfBhyBolDi\nm4xBN+VGNzwF+dIAP7K21b2JkZOY+kMZ1YOqHZnO8vauyLS/XQJll9TDR5p3\nIV/U\r\n=6wot\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"4b0722e23503f776dab3e98088a0dc77436fe474","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.3+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"apollo-datasource":"^3.0.2","apollo-server-env":"^4.0.2","apollo-server-errors":"^3.0.1","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.1.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.1.0-alpha.0_1626985386085_0.8614652558357911","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"apollo-datasource-rest","version":"3.1.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.1.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"5f10c3796e5139bef254f0cf4680fc5bdf96c178","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.1.0.tgz","fileCount":25,"integrity":"sha512-5bnpVhlvqF0ssGKlFWWfD0Z0JMu6yVkTunpFDBQxX0u6yY/jE+oBXKiV1JphLBvRkTLgIlGITmUWaDYmnBB6UA==","signatures":[{"sig":"MEYCIQCKJfXf8HzeNLijx/48kgh54uPJ8Z/atP+7JGOBNe4frAIhAMiBcxZ9WL4R16DzIs3+zTpvIMVS9Ov5ZWi7XMgIMoZX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/wi7CRA9TVsSAnZWagAA0lsP/jGaqnv3yNtBnaAoEYYR\nGI0mfZsJnWHcyKofLX7P0w5oKP64dezErIqf52tUGarLNxn/vBVYYi2AqJNQ\nh0fO+yHR0OJZULU5gYjHCp3mm0MMsSVFyiyEnxEDCmBfi16tpxyAkj+ehxyJ\nkVDOlAiU1G9LacUdhl/Bn7QVUDRX4EjjVRvuJq5jpu0OjYo0EAhd++GdDiID\nwhi0roSHXzoBMsa0TDfPWCV6kpESxp+L7fSoRzwrIYtCwV9nhyYor7OuxqTt\nyWFDWf5rJ55Gavn32CpPHPNXSWiwP6Kqf82gth2Aog9r3DXJqHMguosWn/cL\n71BkUKFZhgn/FGRCpFBJkNkgBZrQ+2GsSbFnvgr+xkjBe16aaSfzQBBsZ8I+\n4pOAwcfufEE/kIvSG72p/v/ckb0nFHNqfLE5CUBBjKidoxhWlqDbsJzvj9CT\na7j5KDhndKgSpgj0dgLqtS/J5jkcIAlhzEVIykaUIIHCrYkaLsjXmX9ZSI57\nny6UjfcVDWRwu6rqkihpzFXYUL6B9vWSSDSsIc4mXqYZAX4oymxRowB59ory\nLlH0O/DupIWiND+GRCD5lmuktQDewRwkW0EpjpVDl8NPRPxwG+NXsVyMcLCQ\nG5Ax7uDIkkpkk7URQnPgSkvywpco4Aya11ntoIhNLMvdzDvKvslgv6UReHIC\npBUu\r\n=zH5R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"d22ffd33da9fa2972e6d055ebc4b346ad329edff","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.3+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"apollo-datasource":"^3.0.2","apollo-server-env":"^4.0.2","apollo-server-errors":"^3.0.1","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.1.0_1627326650841_0.945549912435397","host":"s3://npm-registry-packages"}},"3.1.1":{"name":"apollo-datasource-rest","version":"3.1.1","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.1.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"2d4e8afb0745a65de211df238a1d098efd428c66","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.1.1.tgz","fileCount":25,"integrity":"sha512-C+aAPe+q7OfpOrWmfNNajq42AJHPuUHe5IuLJqkmXGE7YYA3Y5mLP+/19UQ9ppDStp3P9do+X/ZXta/8aEoIdQ==","signatures":[{"sig":"MEUCIQDci4OzUHT2td6ojM8h+QAGQTE9E4YRCHL2LxjrummBSgIgbkLiD+5mT7mFURrfnEzM+nMBuOqNf4BxGAXj0DVwDyQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/xI6CRA9TVsSAnZWagAAxYQP/AvlIslO9B1GOB/h4CYM\nwF7tsTuJksW+ndy02fV1et2745fjEn8PJ6XRvf0NtuURgT+bVdbWKhFKAq9l\n114edi99dhBXV8dGQ0N7OqHddrUTwxxASXWNSO23tGSVjmV+cmhxfv8ogPl2\n3TpPzMaMi4a+FCx4n2k6Q3fPkMnxmYB9NbdoSf8NMSFPZ/yU8CYio7o9ZoK4\niOA797wlqPxVPaWrMgWMUm7n3pOLJunUEo7MTFkk22aqqWEiOmShHR8HZxj3\nW23xxy1nEmXfTlLfrvvVObsJkSQ4a8QFxnhjE0T0k8gAvD5TqjatVg0Y0zEE\nGN4wZ/6mOSIOKWEL+1fb1OTZBKj7Jsnv+5NdmYH5xZtudn7HjpGfx5L4mqtv\n3DdJ3NLVJGmwtDExbrNg8KUEbUcADTC+KTxpviNlDhIYeM5qvSKsC9mtvGBV\nyjuH3O+ozMqvABfk/4pF+W1JgopIilImO3K22xPFNKVQq921OZkY41MqXD7c\nK8R0hUl20WG7WUFmNiuV5B1kPhUxYlIS76lQUsqOHDpb8DysG6TItKzmt6Aw\n8jZGFu2Meuf+GPQEHAkwpFa6qJsfa3cPELx8a3TnqbQGyjnENsMW3KqyAzk7\ntbsRgJsS2AH0akyeTU+3aN72oCj/z/y627rY13546k4QVBIt/wEzOD8VLdNL\nQw1o\r\n=cub/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"eb06724ca43042fcbf6e04e1de1dc2e5acfadf33","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.3+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.3","dependencies":{"apollo-datasource":"^3.0.3","apollo-server-env":"^4.0.3","apollo-server-errors":"^3.0.1","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.0.1"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.1.1_1627329082205_0.998753053967586","host":"s3://npm-registry-packages"}},"3.2.0-alpha.0":{"name":"apollo-datasource-rest","version":"3.2.0-alpha.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.2.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"f3da2cf98927fce98509ffcf0a31f7909ad640cb","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.2.0-alpha.0.tgz","fileCount":25,"integrity":"sha512-rUat0HdbzzlyrDhICPscPiV1E1Q3jUsZorX1hz3sekN5yR3ehehv/3bsacOXnERrQI9v5jRgzWz/BYyXkHJ9FA==","signatures":[{"sig":"MEQCIHocNBDgIZee5iyRieLjQXsv102JxL6s4Y9OeBFge+A/AiBMU8a0ErCM10hF5cELtNEES7B4vnQNSbtZNcU/QjZATA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhIEEHCRA9TVsSAnZWagAANnMP/AmnBVkeDsiia+QavqQ1\nBFHwpguVQAxtWg6qovxs+yrTcoT0GTYUF9KItuTJx1zMDxlMcEw0RtHcmXOB\nja4pCDAAMPxCboBXvsYLGXpUOMXLXB4d4KkFMvUI/0QkLPF2CdpXDRtBkAKJ\nBcMcs0gaKCEE0pifZipaBmgNKx3Z3ywAAdzqYqDgEXEeTDRdPOESvC5jDpUM\npZf5aazGqOahqzU/kxl/sqVnbDPm+hJUCGWngWgL4laSusuKLSS8XXV3oYvd\nq3l1C+Qyv3+mYWuzShGMscsyvTYZKKiQXqMdAmVuYaLX2hbbTVzCbI95GfBc\n5XgY9/UlgnlOCSOIfUVfhMColnR2y6+o2AXlX4+SSrvpL5vYVqr3olA2ytP5\naeigr1T9oRwVYnB0nRMwf3iTGUeog0D9tG8a0NNW4adYl7MoslKiL3LGgeB0\n1vYQfMOVmczt4sgSN9r9p6yKcFRKgxjVdbeRZDVkOnjMsL9dDUg0t9110Gph\nnEZYk9Vk4BL7FI5pRXPy5qmTy6aiXK8fThVIC3nd16kVxY4JbWPMx0/qUM3l\nY1qzCVq/ycct2yHZIg3084PBgX+yCBarVo+Eyx2ekA0CnrUD5otdpuKArZWx\nLV7WBewxljNXqutFZe4M2U/sD86N3f4G6CYxK0wvowGM7LS4wr/RyfUiTnIf\nngo+\r\n=XixZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"211cd84ce3d2c9be90248e6a69c8c26bf8d1cc17","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.5+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.5","dependencies":{"apollo-datasource":"^3.1.0-alpha.0","apollo-server-env":"^4.0.3","apollo-server-errors":"^3.1.0-alpha.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.1.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.2.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.2.0-alpha.0_1629503750983_0.41337185298454826","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"apollo-datasource-rest","version":"3.2.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.2.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"7f0a2c90bf20df561e7fa2717efd81cb5e77c6b5","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.2.0.tgz","fileCount":25,"integrity":"sha512-k6eD/s+tH3CJc6SY793k0jikP6YGVrQ1RITltqNdipJLNCQCbGVvNkMB39VJ2JsKDMKrxg4vEzVY3gXlaDeW9w==","signatures":[{"sig":"MEYCIQCaoF65T1tC9iA4TTOWo3cmVZyMFaP/ebYT5hSEuhiCsQIhAJ1oBG2WTPH/itWIqEptQ4Cn56Gfpkl+vw2Jtoix4FmL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJDRFCRA9TVsSAnZWagAAeTEP/AoenamiA0xXxn8IaLPw\n2k5heZSUii3/TNM0mXHgVHekXGEuNC88clgmMh9ruC5G1Gx++VfoDqw3E/uA\nghDixxZkWyt1DfaZONac3GQV2sVnzl7GGjW3MKhDhpnS0ikhFqlmgAUgJMl3\nBBA+7E3dmB61zEHjk3BC6gkBEZk84A74k1AfOVhYzh5LQ+XkWiDNM1Ct2xgb\ndGSWaCoSD1Ul2c6K+i0E5Z4HC54lc2gotju4DqOpRSsH403V46C2SMdRWBDP\n0F9wiYAdHwIzvJs5082h+066Ml97A+JpTpGGS0q0PNw+9l33K7EMPe1Ivaiq\nmwovLlFKRF5bMkgyq+sJs5XTOU5H4KzpSHS8mJTSjh63bo4QkLziQz8wA2yF\nAYzCR5PqPvhTlrYys5aEtevdzpNFqGyBZUNo7h0TQp9iZSZjrjddu/FvVlFN\n9FSSgoizEbIeMKQG/CMrG+031L2r8xhoDyzrJzP+5jlZNeH6udLgEtvcUfbf\nDlMLI9YGhqL/JyvSi84B4UuiXznQNTMkeX5xzaE1WxmImsV/Q0mai1veQEKM\nBw7d1/hUw8dOu5156H19h0nozp/hMwAfaNvO8jMecOlDIYP++LJyvYlvJ95W\nVwRFGqb2E5OkU5eZL48qx8d4mVwSoU01/uxVbncgIUqHeRBYcfArr4rpVdYy\ncr67\r\n=GHES\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"4dc19131aaea2416b5b2ccab295b06272f94c996","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.5+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.5","dependencies":{"apollo-datasource":"^3.1.0","apollo-server-env":"^4.0.3","apollo-server-errors":"^3.1.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.2.0_1629762629751_0.245806514214846","host":"s3://npm-registry-packages"}},"3.3.0-alpha.0":{"name":"apollo-datasource-rest","version":"3.3.0-alpha.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.3.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"f90693709316f0efb710ac1f509899362504c436","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.3.0-alpha.0.tgz","fileCount":19,"integrity":"sha512-O/d5xARdjvFJp0WZkn7tpE8aBj5aNBu6+TbUWYyY8t9e8zmUO9YbFxRBjDSwPNgTDQe/JQ4mDHpyRlXtR4vueA==","signatures":[{"sig":"MEYCIQDmU0+4KyjB9jz17dwuUdHpwxemF8Sa4W9DfTUxKqZMvAIhAIynLZgswSmAlvJfGnIkVF3vOPjTNBARLeYZwzABgBJY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51150},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${encodeURIComponent(id)}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${encodeURIComponent(movie.id)}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"119dac4fbe357661cad7163dfa643b02ab479b96","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.6+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.6","dependencies":{"apollo-datasource":"^3.2.0-alpha.0","apollo-server-env":"^4.1.0-alpha.0","apollo-server-errors":"^3.2.0-alpha.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.2.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.3.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.3.0-alpha.0_1633739899491_0.7742284155185275","host":"s3://npm-registry-packages"}},"3.3.0":{"name":"apollo-datasource-rest","version":"3.3.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.3.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"76f82a531121512d4b9d5fcb060eed1bfee76207","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.3.0.tgz","fileCount":19,"integrity":"sha512-ewn1dUG9PjQJtj9kB6mxtLMIQRGiAiEqPFMgymGOKLUVXkmzXRwCacuIw4MT2MVFmdIpa9M135jzi0hRsprrBQ==","signatures":[{"sig":"MEYCIQCRus8qryv20PtfPjPB41ULWlXSVapRjCHLiHMtCtP2SgIhANZDxbPpUO8twiz9lxauAbmqtcMHql8q1ArnYT6dOubI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51102},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"7861ba22c9e4caf037e7a1cec71191b9b0deb71b","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.6+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.6","dependencies":{"apollo-datasource":"^3.2.0","apollo-server-env":"^4.1.0","apollo-server-errors":"^3.2.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.2.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.3.0_1633985912945_0.9420548810706917","host":"s3://npm-registry-packages"}},"3.4.0":{"name":"apollo-datasource-rest","version":"3.4.0","author":{"name":"Apollo","email":"packages@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.4.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"218152eb8bf3bd34705fe029806e5d34ea6ab50b","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.4.0.tgz","fileCount":19,"integrity":"sha512-biv7jKykXV1g9Ans5FEUOTxpN7hx+ii5xMjI5wDUyqj0eFalU6Zry/7DFGVxTelHUcemoVKFTeHJb6lz80mxrg==","signatures":[{"sig":"MEUCIQDVYHh8Xp1K7TL1l0yu5i5nTsWxxae1JM1/hh+FRY6J0QIgO5z2mH5ogNQd4QTnXsLHCVPjm4qYlTHew0oUaHmGDes=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51100},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"e6c3cbbf820b3ffff1e7e98d41b3bfc08f99b9b0","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.7","dependencies":{"apollo-datasource":"^3.3.0","apollo-server-env":"^4.2.0","apollo-server-errors":"^3.3.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.4.0_1636134875786_0.8561233200200828","host":"s3://npm-registry-packages"}},"3.5.0-alpha.0":{"name":"apollo-datasource-rest","version":"3.5.0-alpha.0","author":{"name":"Apollo","email":"packages@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.5.0-alpha.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"e61af4bde83db38d884940e15c36d120a578077a","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.5.0-alpha.0.tgz","fileCount":19,"integrity":"sha512-o7lj+POXTe/GDbpFaWTTlJ0+G5qumgeuZG/rIF3L0OevDgFrk4WtJE5C185k0LqzGp+TCfrJjqku1zoqwySNNQ==","signatures":[{"sig":"MEUCIQCv8Y6Ec/5QEIy7HhSdoGYfKKw5o70A64QD94RntnlbXgIgRE0oeyFIQ+Zf8YFT1CWsEXqG9NJJb9iWFgAZFfwUXE0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51116,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvQfUCRA9TVsSAnZWagAA3ssP/R1t5bnfg6T31NCq9nll\ndb4hK936XgbweJL1tj/0E7c/5DEqRW/BMjoKfVheSxnYBc+mzQ79o5YkuHtP\nR6GLxhcxMiQjCzCg562kV6cMjrsAXK2DsuqnYQjrb057pQ2laFyZqdxNxL5z\nhPcGoN0fqZ6oGMhCrcwkVfT6ISmAyaKiK7ENdlrvSVVpQkh/NF+bFau6JglE\nI836kkw0Gbxzzn6Tg639JR8kYoeCgGhfto4ua/qPlMrVeHs2ZZfmMIVKVo1r\n48QHu2ENSYoxmeBIhWwFbMCqNxM4LSJcZhN62kp1AnJY3eI5w+tCVxqi5Nz0\n9ODlZq+fP1Lk7J/bz+nHw9VGcgWQxoeGFPPVddAmSgvCV2gTVVpDTkGc9A4I\n231if/A4peUAOBBYEmGWxCIhEOoZlmDpP/UEh87cLxbLVNGjGtu9GwTykPYX\nCxkH5bKPRKYVP4WjXrzRC+KJv77+vMfKIBh3TqN5nLjY/IgZMZFKRBxWR/Pk\nL/CVOyZo4LNmjAdNhp0Tol7XxyLF6ltm+m89qSmsTE+NMkcNiFq0xQApzr06\nCT6iXQv5sva8lD+ekFa5bGm2TJDWQEdGCHvnHF8aRS9ncgCqLU5aVEvgXZqU\ng6rtNY7wvRcsESXtW+0KVJBHCue+90fOsQdNWZ+M0I6pmJb92CkQIYWfGfRS\niWhv\r\n=ugBo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${encodeURIComponent(id)}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${encodeURIComponent(movie.id)}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"2c352a9e0c5a48b8cfec145bec52cad2f0a73fa4","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.7","dependencies":{"apollo-datasource":"^3.3.0","apollo-server-env":"^4.2.0","apollo-server-errors":"^3.3.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.5.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.5.0-alpha.0_1639778260096_0.37576819392750127","host":"s3://npm-registry-packages"}},"3.5.0-alpha.1":{"name":"apollo-datasource-rest","version":"3.5.0-alpha.1","author":{"name":"Apollo","email":"packages@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.5.0-alpha.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"77b6feb1f2d3ee97c353485ebd018d47045a1bef","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.5.0-alpha.1.tgz","fileCount":19,"integrity":"sha512-c4WeGD8R9TNB9hHXsu3qcuvKxxK+grJbIy0O9MmGclrprhLVauVY1tS3rYZDrQAR2vuyxo+IcG+Ks8CHS029wg==","signatures":[{"sig":"MEUCIC+1/3v/a4CV5gHcRjnvUKopAdns8UXwTUGjSXx6wTZXAiEA7ZSDdWNnBUlxdVYshQNGYg4b3qh/ntMc1Mcvl67+NYw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51116,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhyoA+CRA9TVsSAnZWagAASY4P/ih++y2uwRHVrS8PHxhL\nbZoVOKCSjJiFwsS7ntiwpmFxID4p8KP4ukMuKpAP7NkblX85+Evh2lUPQV4B\nA1vh7glWJA+YFEZRMwW5bt7LNd7Gp18XlohEBgeWE3SxK2lGBzd9F/mfUusb\n3OaMvJz+1fee6JmHTihYhvIYoWtObwdGEq/FufIy3QNteoRKQJk0/6LPaiUQ\nutluBk5diD0xdFV3NUM6Nynx7tBWYluCp7YLcxsdViULX2lOVbFQpG1QO+pa\n579E785iCiyDYqTKSV5XivOg9pLi/2eL0J2wFIf1XEFXg304F4Vcs05ms769\no12WytLSNQjIM6v2KlLIDF7dpHptqNlpBlq868vDqwRFkNScQjGv4PcR/+gc\ndN1XW8WYm8mX7BYNEf1Y1iQ7zgmnulkcwyUKUVn66S9lWdq5j5wlSTFdSu5I\nupFdAw6pEuhIGRGgdCxAFCh6BPz0KlKBr63ATty8Sa6l8LRNm6KwRxPn5/aV\nTtPtRHccmYzX80wpga/nK7HU0q/rILeLldGbMP7kjTUc16ZD3rq94l/ClLmI\nmpTnj4Q7BTawrR1nZq3JndFEbXfbPaIvQVDfLKLCUeLUbK2HfpS3F2kam7QX\nXmXxq2bv88E54NkOG++cFtxEW15795f79IZumxwNRllZPog4oNFjjyCVrU+8\n32eJ\r\n=HBPR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${encodeURIComponent(id)}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${encodeURIComponent(movie.id)}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=12.0"},"gitHead":"1361265ba3d573b7e7cac348c81f923ab32fbc6b","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.7","dependencies":{"apollo-datasource":"^3.3.0","apollo-server-env":"^4.2.0","apollo-server-errors":"^3.3.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^3.5.0-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.5.0-alpha.1_1640661054579_0.3252926811581558","host":"s3://npm-registry-packages"}},"3.5.0":{"name":"apollo-datasource-rest","version":"3.5.0","author":{"name":"Apollo","email":"packages@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.5.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"d6aebd1a32f2becd82d49883fd88a72ac5a16a83","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.5.0.tgz","fileCount":19,"integrity":"sha512-rkYc3EY7Qx/r6fnMHxe4BIoPiTIjYsauQ8zaRFTVi06Wwu84BxYVU5gqjILAj3FpE0klA5AImRqYtG3MWzLrwg==","signatures":[{"sig":"MEYCIQCn8KiJH+J8IzACm9eoieFOxlIbnpF62Gkrdi9LDnvCyQIhAPI60U1tpDgKsZIemNw/WLgS55uOR5DzLKlQZKqMJPs0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51100,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzfmlCRA9TVsSAnZWagAAF04QAJlREJ4bJdtuIKmYMUTU\nN3pIDSLX4GXsTFqFFZmPatHlrEViQ4mu5Svn1ANysqcfrepfvVDIkXafKR3A\n4ADvMKIpU9Zunyw8b2gWURsrinjQ5jLo0CIoNgWQq3f0IZGGAx/NW5suKWo4\n777a3M+XrrgT5lIn1RJTor0hyzGSbSdNPcy6eX9tx+EVeDcLwVnTpYQHhQ7O\nYfr6aUn1AhvG8P8BM32zlZFYBxD2pW/R3wtPa1KP51oAr4G866sVgwgGDQUp\n/5xU9ZOmaUFAYNetxJHeZJ4BYzlK9HKwZKayWg3qvqBWgxgpHwN4aebvAQVJ\nUkveqyIVR61eG74ZylMetOe3Ah/uEVsdR9FFccMuKxwY/PqJo8NSPvCZiVuj\n8fHrcJD3Tiic06E6/doijr8Ya/gJO/aVnAHJotdtv+ZBqrxYK6bjw5ACW6TP\ny2UqfKa9OBGmAS1AhT2R0qLowlaOdUaYGdxjU+3WYQAPb2K5hiAS8ZeGLM+2\n99KXjh21vZJuJGQRWiUYUPhN4AWpY/KKj2hh7SZOEiKUdwefaudndcuUKPck\nDWfemuWTXZTtqyvH4xzSYUHcnn6ieBUMzT3+wMTehiwOYvWcBnon/omnA+g6\nPqRk9eNf3XQ5sgyWQD6A2pM8bjiCg0Owq0aoKUmsrQFVgEMC6x9fN7cu2Lii\nHmTM\r\n=S4xM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"8b2c1360c224d23ff64fa49adbee1e62dbdaa917","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.7","dependencies":{"apollo-datasource":"^3.3.0","apollo-server-env":"^4.2.0","apollo-server-errors":"^3.3.0","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.5.0_1640888741336_0.8785442089419901","host":"s3://npm-registry-packages"}},"3.5.1":{"name":"apollo-datasource-rest","version":"3.5.1","author":{"name":"Apollo","email":"packages@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.5.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"1ed68892ffe122f4ed049170498191545a9d10cb","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.5.1.tgz","fileCount":19,"integrity":"sha512-M23yrpBQWsn3ko2CntQoEnd7K+9F/EVMWiAOBG62Z8IlBp44mJG3ta2YYyZykWHCx3vXFRSo/bD32ar1JBb2yw==","signatures":[{"sig":"MEUCIFq7BV6rJ9rRvSHyweBOSZFQgdCMyZ9qPyzTX79q02EDAiEAm1tSMzOSZxxLhA7EazJ/rB0cAyKnNUGITRj06W3/VdY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5yyrCRA9TVsSAnZWagAA1oAP/17K+27ZYHDi4uZDLsI5\nfv7ORuWrYIndli7yfdZMZSkI0xKLS5FpqxUVBRpUhDORCN3b+YUE9uX74JqA\nY/vNSx9iankVCNMQ4NmRPtc6XHXskaq2zoLskXdnmYCrkWMXtdGOhjiLXIT2\nqKq2Ow0jdzbwdV3cDBJY9KhvIAwhXzuBTR9EDINk4ZyT/P0zFwbyPRY/tsJ3\nZjPjjphhvUr+oo3HNRM6UcyKE5Oq1MCRat0WD7aqWpqn6ktaXAyNegn8BPUq\n4Axk5XDa7vpmnVhxfCCPzd0wu7KSOYiBM6W7fHBqucvyVUM6x8YNZBtquT63\nfyvLCuetUStk57Ar8yoB84bIWZPtkk2gGVYuXxI5QJop5OobuFNKUBFBuM/O\nU4iWKEg+T0lfzPSsFkCvGowDV8L6rnRJJAkaYdv3ak6w5yzKWnrIzwa4D8wI\nIxwXxlEq2YqoQAuHIOc/K5BN1eUdVYN1pwIg7vxgblUXxNl67XqPwRw0VB/1\n3rD2fahlhjbk0PfIq8+LhNBGw52w6k5ao77Mwl/o+9SwVXBy3V6ZMwTe2m1n\nUVWC2drZVX+jRe76GAjnxucGnTxY2gYYvjpmNLaNZPkAuVsLPgzAbG+iTISL\nWAm+iF3AfKhi5qnZwJI5St5/O2BZoF/kdD/RSX8Md9+8oiRmyLRktTAVtxfA\n1T24\r\n=nCqd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"022184a4d01d4452ebbcfeeef6e8ee1aae7a5db7","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.7","dependencies":{"apollo-datasource":"^3.3.1","apollo-server-env":"^4.2.1","apollo-server-errors":"^3.3.1","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^3.5.1"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.5.1_1642540203477_0.7834973769058557","host":"s3://npm-registry-packages"}},"3.5.2":{"name":"apollo-datasource-rest","version":"3.5.2","author":{"name":"Apollo","email":"packages@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.5.2","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"c89eeed9ef6d4434983bc4fa08c30d370cd4ef37","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.5.2.tgz","fileCount":19,"integrity":"sha512-j/Kropw/UH0SgwP2YUKPJ75jkDTe+zFkmM6lTw8Yx3rPPv2qwhmWokf9bVSG971qrkj+dcyE0AtrNpk+j/2KXQ==","signatures":[{"sig":"MEQCIC0ty2kNsyu2IswGaDX7wj69ix4CZXHJZb0WW2QQcRxSAiA9+6ZDTsPJJBnWrOjL8dXyV/+q6xQz7rZp744TsLIUdg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOM6NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrKKg//R5WaMg2v8LvDIiUhWRF3lHruK76c2tKPOXPYK6IK80Qb7wVG\r\nqT2VGrOVP4gv1I9f0Guc85782wnWyWc3qxT36K3jOndW9WDGZtA+ynRnGhVC\r\n3FyDMfS0OHV1RAlnxMseLvUf9xA4XxdLqvvnBMOFJlThiqotoXpo9Nc4OAlc\r\nHW/3VxXYa49WiOtePiaXz5EoROD5y4db7M20iOJvoTe6pFl5VMKs0oAlezuw\r\ndAA0afpZsQusxgZ+059nXDnOZpQ1XNTPWUb99yLz1r8NsYPkEH602Qw1intu\r\nyhr5q52JRDrYb6/oXW2mms0XOLFsnDJr9SjLy8ZYuQwSPmI0ynauDxIh4Jqn\r\n0DDyAK/dfjMQCINWAsjaJET8iZuo/YY+tZM1IJA6WX4VkUzG5dNB9ZMT27Br\r\ndCMLPgt+jyIiqlMhW5CovLdfOUz6B6kMnrcS68z+OSn2TUBIgwXg1tzKKwzB\r\nCK3SZTeE4xGzbW67vYZ+R3IxiYTuhXp26ZtYHMLO40yfmam6dlkWt9LraGLA\r\nnUkocdLpoW0/GbJJRrChgLbuSCGtIDf1kd30XK0Q+/yVN42lOFH46ggicjBp\r\naIib961CEtDvuMbAxnfhuIhx7LGEVr505BN5hd8aovKvqrCUq9+uq4CAOlHf\r\n8WCZJr3p31Uu9uAFaKdvFf8gLdkJKaYaHMU=\r\n=xRLk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"c3deb0d980dbf983028aa99b7d2b1cc6968de432","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.7","dependencies":{"apollo-datasource":"^3.3.1","apollo-server-env":"^4.2.1","apollo-server-errors":"^3.3.1","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^3.5.2"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.5.2_1647890061593_0.5545359338185814","host":"s3://npm-registry-packages"}},"3.5.3":{"name":"apollo-datasource-rest","version":"3.5.3","author":{"name":"Apollo","email":"packages@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.5.3","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"37f88063a59b76605d8da440a1a8aca087bcdc8d","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.5.3.tgz","fileCount":19,"integrity":"sha512-xKzXl5TA0YEPHmIZXyPfDGtl/bnOjeI4ieOn1xQPLtsrtDRBjt46cXpGwNlsS8v9F4g7bG9GTcgOeNPHSxGy6A==","signatures":[{"sig":"MEUCIFnXPsiiWWZnLT0bmG1x1CvtZJ8x4d8a/KuAl9YGVy8vAiEAwKFUyzoRZ+G52npZnA4qzOLaSZ8ZKCoSpYFbJ3L1GX0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJic/K8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGjA/+KnnJRWLe3NVYFLsJFrOPFWgy1G+3SaMHm2uLbfenDI60zw0i\r\n2NqwPIMj8j4ChY2mVhyhznlSsnKGU/fCfQGhEGo6wvM8aDp5sfYFqHSXbOWH\r\nZd9mYJqCPRVpHiJpu1Dc2BKbcfj5ykTjdIoMzP55+1Autxc4gphaLiHSvFI5\r\nckVMt1MLO5bsTeDnTNkKRxQSo1BScWPfOrYOm/udkMWzTtd/Sf8pvjafLx0W\r\nKTukoMH9QcIJLjB3YkQohENpSMcSLxmJbX2dIiQYBgOQny/1bwMYl/ynhUmR\r\n1viGAwRllBghg0DDDGZHOWeMJZoZPBMNlEROw7N04LU/XvUttCnMDNCdcF+I\r\n7QJRHThHEh/GnkQ32Ixs0Fx0rBiMeNgt+ukhBOJ5UnWOhtTIXJqXNFDMpluO\r\nTE2OmRWWUSPh4KdZHjinBU1nrXwrNMIhZZyhtweu30VDuFfccc1RQwPpN3F/\r\ncVPSZPq8URzHswewdhH+avn9/hq/TYkyWPwYwv0nP+OhjI2aqDMvPYH0pEky\r\ngMwaKg6DwDTcmhTwDk8Mm4h0kBO5D/AEElVG4QXRlV1heVH1WRxl+/fSa701\r\nfvtj/Sfo473Na3f7Bnh/QmoDhBzi0377cEBgg4IGo4CBhzXHt4is0trsiIPi\r\nmdW3rTGCl1dJxi1Q9QXZNPw+Jmqk8l8Yxeo=\r\n=GyL9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"c4a3f346533885df825297853610c1367fa984de","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.7","dependencies":{"apollo-datasource":"^3.3.1","apollo-server-env":"^4.2.1","apollo-server-errors":"^3.3.1","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"apollo-server-types":"^3.5.3"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.5.3_1651765948552_0.4674144768513757","host":"s3://npm-registry-packages"}},"3.6.0":{"name":"apollo-datasource-rest","version":"3.6.0","author":{"name":"Apollo","email":"packages@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.6.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"6cb7178abc7cec13553f5bc4d8af1a70f345626f","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.6.0.tgz","fileCount":19,"integrity":"sha512-bPR4EuXcpCwkMZppSdtqI5dCC1giD8FTqDQNv4bxCYrqEE2YikTvVnbXS8es6C2MaECI1UN7uX6DF5CoBGgIKw==","signatures":[{"sig":"MEUCIQCWnNUW4N0iksK3AwD0OOLK9O8BQsAy5GXtNO3LGed3CQIgdAmfAamFxjpnrAckrUBvKVXQDPGt5YPqM1wzlxfJTDM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51113,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijB+1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2iA//a+4OONtI3PP9eFeVC5t7XtVEnDAfvOCY4IBEPAEbEaWBC1Ft\r\nu4h5PeC9NtILqpBQN2Cl9NlSiTLopVtffpZxWibokY8glZX0gyCiSs/iuK1M\r\nkbCSMDtOSiZytQVFKwnJf+LKnIIB2dMM/YsXiQo27Lqg7kJ+s2LuNJcarHvz\r\nbI5hYwOCGqka4H0+Mj9e2aCNvEJEAsi5iiCrV0+xu3pc6sswlsw/EuAJI+83\r\nn3Ebmf0I/Op3hLr4rR9ImgETU5bEuWQ3Sfo04DiSNG3OJ5UVDGtRIWz0S6sd\r\nGKGS0XvrEYc0Dx1vPiFyRqXtKNsm9mNMwJr5D2kw0margH296eMmlXCLBRQv\r\nIcBbrPsHFq4J3p8L9qNdQ4vSv0gCYEQIXeRiTlG7V5DCEP9wn/qX1TRqehIU\r\n0BxBBZ+qV5VAtO+fdn13Q/0GwAl2Khk9zjs29r7tecz7RAnyIBFhcdn7bymP\r\ng+C+oQbm49xYkkJ5TYW6ATCk0mHioeWjDB9Cr4nTL9yq8clbRyzy+mX2QUwc\r\n5+KBqMtsDWSDgTdHCHqgR8TbPkdrLKGs202mPa+1JnyaNa0ssyZlgzmheBc+\r\nl1B9jjlTI5u8/yOFXsdT9Tar9J8j8sA8Bf2J+fXhd0ZbjOxrjJhX1ZvEZJg9\r\n2dqwNi2onJ2DFz5R2xQV3PUb8xnT4equM14=\r\n=NhFG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"c072d9f9a32ee67f4fd8f717cbbff6fe59a3be4e","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.7","dependencies":{"apollo-datasource":"^3.3.1","apollo-server-env":"^4.2.1","apollo-server-errors":"^3.3.1","http-cache-semantics":"^4.1.0","apollo-server-caching":"^3.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"graphql":"^15.3.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.6.0_1653350324902_0.5222905198256644","host":"s3://npm-registry-packages"}},"3.6.1":{"name":"apollo-datasource-rest","version":"3.6.1","author":{"name":"Apollo","email":"packages@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.6.1","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"0975c5c8dfd1d2cbda58af268b9029451af8858e","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.6.1.tgz","fileCount":19,"integrity":"sha512-3RMM48DKva01YrmPYpiBdtva7r9pJkgrMz7BuwAdhF2RXU9WhgOwZvUUZHqi+8ARNGRjVZA5BdCcEt8lIbYhOA==","signatures":[{"sig":"MEQCIHiO06DYf9qiGBqifOdsqCDM7jXF3QeLyu9AiJ9rqylNAiB2qMD+Uv5HGbtTQqwB2DhQISytYYaau3sF5LRgD8fg5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqg7kACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4BQ/+MRDMKIobNxL97F15Yymk74Eu7LeNWo5Yzb8oRbfbwK9XeHX1\r\nqrf75G/atjRVFWoFEIMl/jXOWi/8b8hl0EJjuzoM1yuqmxU16A7vjmVyeKCx\r\nh0sxBi1ul2LOVrJlblVQPgtRgqKEhkqwV9dwyeANHobnwafU2Hi8uGLuhwyS\r\nkWXHzd1rTJ9P0snIDV0OoCMgbuKRlQX0SZWsLDxQJ3LJFmmQIS5ZTc6ohpZB\r\npqrddIGZ8ktBu94thtm5/UwCNVtfpFCQQzgQxRj7uB4OMxsAdIf5ZGCTNRux\r\no1b9TEDdbR5SlnXowwKccKvW8AyDM1XU3EWMwGbUDIi5MLNrEQVYZ9qyZ9rY\r\naFUa9khjR+UCKCCN4wiJWzn+mgM81qdU79z28gTETpff8cifqHweYPVjM85W\r\nOQMTwsZf62vV720ABSiCbn5fF17K1DC6XYqQolmvFQCoFqfkFgtDY1/19r9z\r\n8nnVM7sEBNccc/1FFiv6Cuslp3nvd906+eCT5XwPX+9+Q80NvjeJ4AjBY3Yj\r\ne8b2CWfFkM+RAABy8RGiSFq698c2fVb89RNrqFhDc327G3Mdo5UUW5FgCVQm\r\nlAjQycHxhVEjbl4Pc8c/jvNBHFa+YJ03mlJc8v3rzQgl7yX9sBekTwh6XMwn\r\nU/wMM3LufzCAwGXyyTpXCNrbtVmQzb/iLAI=\r\n=nDHc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"36ecbb116cef0b8b62b3ee3b557c4db8c975a406","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.7","dependencies":{"apollo-datasource":"^3.3.2","apollo-server-env":"^4.2.1","apollo-server-errors":"^3.3.1","http-cache-semantics":"^4.1.0","@apollo/utils.keyvaluecache":"^1.0.1"},"_hasShrinkwrap":false,"peerDependencies":{"graphql":"^15.3.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.6.1_1655312100555_0.23266288734322105","host":"s3://npm-registry-packages"}},"0.15.0":{"name":"apollo-datasource-rest","version":"0.15.0","author":{"name":"Apollo","email":"opensource@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@0.15.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"68c39f9b9b186b42f78380914932f2703fb35e60","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.15.0.tgz","fileCount":22,"integrity":"sha512-YVY+O93F509xJvN12VM0Pe3PlB7KUM2q2xRd8VzXzwrC67dXOQeY81E7DOFCs9XW7jXuF0TePMddSOyWmnEiDw==","signatures":[{"sig":"MEYCIQDYfrLvA+GUUDha8UTvpwEVaOKc0Yep6NZ2rndhTjuK2QIhAPIuqxr0Ro9qL6aUD/6l9AuVtuJODOZZOliL55M11mkn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/oL9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtHg//dgh7xxTs46ZPzgROpcLXS3nqYOW+0Yk8As8ABOwI5yM96jA6\r\ndS/8MF+Ht6Zdl0l+MlynQ1ZiZ/VRWD4HOU5YqCD4VIvntfPqaKfvWFZVeVHP\r\nddtAi/dlzpJZJhDdDinvkZtOfMQfQDGSKg/4smVBHxBO5WbB6Tm1FVNgYWaV\r\nhTO0TNHXad6dIF8g3cSJgEcNI9phMBMTcMlaNbeU/sngpiZ3aT/zG7VGrhvz\r\nP6RnlC+gXvS/uf9sZENtK9Ky5rsGPDpJX93Z1wXaaq2GrFfkn7h8FF8heUkG\r\nuJAPnLpjFYeig+qUhi4JiD1IJGtFesN7kWN+F/208hLhwQTnDu2asnSsVdpL\r\n9Mk82gVZojqda81O5phlun23zDtU9n/Y2sPoRSK4reeAjBkjtiytz2OX4UQW\r\nG/wvuUNVJi4nLSyVMuz6VxZMH9b4+ceSx8X3RpVeYQWaqfju5oBzL1LxL6FS\r\nf3+++b7U2aMFWFIYNjmuuZs/Ra0/fT8TAQrOKxZbq1rDot21jAzkwrP716cN\r\nwlofQTvY3VlZtUlttJenNsgNx8Ns33s5JCP8+76vvq/jWS76nkTMC+7+z/wP\r\nMRZWZqFXqvOU04rHmPP2QLzlB2c+Ck5cgcGtTqSl88cDmBCM8LYsB6P/4ruH\r\nlGgAG1JilFDi1lDqNdiWKp/YqS/UQo9j5E4=\r\n=kpBX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${id}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${movie.id}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. You can use a getter for this:\n\n```javascript\nget baseURL() {\n  if (this.context.env === 'development') {\n    return 'https://movies-api-dev.example.com/';\n  } else {\n    return 'https://movies-api.example.com/';\n  }\n}\n```\n\nIf you need more customization, including the ability to resolve a URL asynchronously, you can also override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","engines":{"node":">=6"},"gitHead":"91de501bb389c07ccfc5e684811153267b91e9ac","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/3.22.1/node@v12.22.7+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.7","dependencies":{"apollo-datasource":"^0.10.0","apollo-server-env":"^3.2.0","apollo-server-errors":"^2.5.0","http-cache-semantics":"^4.0.0","apollo-server-caching":"^0.7.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"apollo-server-types":"^0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_0.15.0_1660846844830_0.24057252768711557","host":"s3://npm-registry-packages"}},"3.7.0":{"name":"apollo-datasource-rest","version":"3.7.0","author":{"name":"Apollo","email":"packages@apollographql.com"},"license":"MIT","_id":"apollo-datasource-rest@3.7.0","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"homepage":"https://github.com/apollographql/apollo-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"dist":{"shasum":"ee81a72a14731227420ee285d6443e3099b5620d","tarball":"https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.7.0.tgz","fileCount":19,"integrity":"sha512-MeORtXZtc9drAvsarAGAUI4GZKoYFVc1OXIvehIZ/6pJrOdKGziGbraos2s/A+u8mpNPfbpk7W6f7uKtmwV0AA==","signatures":[{"sig":"MEUCIEouKihOwijxKluICVR50IhIB5/cTSkht27+7DytfYMIAiEAtjIEe6CrBHkZBH+SYw5Fjdmvv1KIT/ewwV+FeLzokrA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55040,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA9Y2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoMlw/+M1C2Jk/fq20FrNILr7dpnjzp42gyJvjiOgWyp2LoMsstjlES\r\nz0h7qiBYTEDLM4ze84M16plsWSttuvPCiZsPe0qm95ypx2w6PYC9tEHfOH2+\r\nFRjAUyGPt9F3ibn2scMQ9i+wnUXanQrHdz7YvZT2gQWf5bv24p3KoSSBth/F\r\nBm+u8ZklEhDbvcQw0t8kqJa7K1fPr2PBsld4mH2VeWe1ArfcOILzw27dpVv7\r\nxox3l1YLXlKQ4IfoINURfijEv5WSTo4kllyT//NJutGcAN7btbq3WEfJVVoL\r\n/4lop8gMk7LO5iES5Ibq1yhez2gfSIeXHcqv/L5lYUzf94meaAkuy5mg/DX4\r\n8wb2mmRlhH8C0iuOa2pOmWiUSj8mPxDPSPPVaJ+Rgzh3rvqtYcdp3auFRlCA\r\nSIj7eFktie5FnN4U4VOoRXWZvJ3C+/Qy2V1FFK6TX9lxZ3RUNuhPZZlWTGcq\r\nxQxn3Rqwk+n8/MWK2o1M6cjcQI70f0lIon6xZ539RPv594QHs0EqXHMTUQ6J\r\n28rv9YiO6VfJxvp1x3ZB4A2ajoaQyDqSScMCZsQriBXkjb+QQO9kl2HQRl9Z\r\npZJEc/2nT+0iBwW6xj4mPFdpKFVkxXXPGWKELfeYvNzHB36ByHnm0T8tMLVd\r\nmJr17/5Dxj7jKrImy/TbbF581+ziC4DcBsw=\r\n=7B6+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=12.0"},"gitHead":"c8ebdc7162a419cc4d00a90041cefbf2951535b6","_npmUser":{"name":"apollo-bot","email":"npm@apollographql.com"},"deprecated":"The `apollo-datasource-rest` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/datasource-rest` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","directories":{},"_nodeVersion":"12.22.7","dependencies":{"apollo-datasource":"^3.3.2","apollo-server-env":"^4.2.1","apollo-server-errors":"^3.3.1","http-cache-semantics":"^4.1.0","@apollo/utils.keyvaluecache":"^1.0.1"},"_hasShrinkwrap":false,"peerDependencies":{"graphql":"^15.3.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/apollo-datasource-rest_3.7.0_1661195830028_0.3856179600925409","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-06-15T06:18:16.103Z","modified":"2024-10-25T18:42:30.276Z","2.0.0-rc.0":"2018-06-15T06:18:16.165Z","2.0.0-rc.1":"2018-06-21T22:33:24.274Z","2.0.0-rc.2":"2018-06-22T02:53:53.122Z","2.0.0-rc.3":"2018-06-24T10:31:02.645Z","2.0.0-rc.4":"2018-06-25T20:58:16.890Z","2.0.0-rc.5":"2018-06-25T23:51:27.439Z","2.0.0-rc.6":"2018-06-29T18:28:05.887Z","2.0.0-canary.0":"2018-07-06T22:13:03.730Z","2.0.0-canary.1":"2018-07-06T22:13:49.905Z","2.0.0-rc.7":"2018-07-10T02:33:17.109Z","2.0.0-rc.8":"2018-07-14T00:50:17.688Z","0.1.0-rc.9":"2018-07-17T17:45:49.261Z","0.1.0-rc.10":"2018-07-17T17:56:48.546Z","0.1.0-rc.11":"2018-07-17T23:28:24.385Z","0.1.0-rc.12":"2018-07-18T15:45:59.296Z","0.1.0":"2018-07-19T19:50:44.340Z","0.1.1":"2018-07-27T12:00:02.659Z","0.1.2":"2018-08-14T18:05:39.719Z","0.1.3":"2018-08-14T18:50:32.240Z","0.1.4":"2018-08-15T03:55:12.356Z","0.1.5":"2018-09-03T13:07:20.325Z","0.2.0-register.2195":"2018-10-09T01:50:11.927Z","0.2.0-alpha.0":"2018-10-10T19:31:44.139Z","0.2.0-alpha.1":"2018-10-26T18:29:13.176Z","0.2.0-alpha.2":"2018-11-05T19:46:37.876Z","0.2.0":"2018-11-07T16:18:06.088Z","0.2.1":"2018-11-26T18:58:52.707Z","0.3.0-alpha.0":"2018-12-18T15:14:31.267Z","0.3.0-alpha.1":"2019-01-16T11:11:49.531Z","0.3.0-alpha.2":"2019-01-23T13:59:13.757Z","0.2.2":"2019-01-25T16:48:45.774Z","0.3.0-alpha.3":"2019-02-07T11:01:22.840Z","0.3.0":"2019-02-07T12:08:55.814Z","0.3.1-rc.0":"2019-02-14T13:17:03.568Z","0.3.1":"2019-02-14T13:26:10.146Z","0.3.2":"2019-02-21T18:22:48.685Z","0.4.0-alpha.0":"2019-03-22T18:32:26.062Z","0.4.0-alpha.1":"2019-04-05T14:56:08.152Z","0.4.0-alpha.2":"2019-04-05T16:52:32.300Z","0.4.0-alpha.3":"2019-04-14T03:53:48.145Z","0.4.0-rc.0":"2019-04-30T12:04:44.638Z","0.4.0":"2019-05-07T12:44:01.080Z","0.4.1-alpha.0":"2019-05-23T16:30:18.798Z","0.4.1-alpha.4":"2019-05-23T17:21:11.193Z","0.4.1-alpha.5":"2019-05-27T18:27:45.022Z","0.4.1-alpha.6":"2019-05-30T19:55:10.315Z","0.5.0":"2019-05-31T17:58:57.341Z","0.5.1-alpha.0":"2019-06-25T22:08:34.034Z","0.5.1":"2019-07-11T18:28:56.463Z","0.5.2-alpha.0":"2019-07-13T20:49:36.620Z","0.5.2-alpha.13":"2019-07-15T12:41:53.984Z","0.6.0":"2019-07-16T13:45:40.343Z","0.6.1":"2019-07-25T10:47:01.106Z","0.6.2":"2019-08-28T20:32:47.370Z","0.6.3":"2019-08-30T10:05:50.865Z","0.6.4":"2019-09-01T21:46:56.238Z","0.6.5":"2019-10-10T12:15:23.861Z","0.6.6":"2019-10-21T17:26:30.092Z","0.6.7":"2019-11-20T22:26:53.688Z","0.6.8":"2019-11-20T23:29:27.525Z","0.6.9":"2019-11-21T18:01:07.830Z","0.6.10":"2019-12-17T12:23:51.630Z","0.6.11":"2019-12-27T12:10:37.459Z","0.7.0":"2020-02-06T12:34:41.381Z","0.8.0-alpha.1":"2020-02-24T15:28:38.727Z","0.8.0":"2020-03-03T17:42:35.325Z","0.8.1-alpha.1":"2020-03-18T18:08:29.127Z","0.8.1-alpha.3":"2020-03-26T13:13:41.132Z","0.8.1-alpha.4":"2020-03-26T13:54:06.024Z","0.8.1-alpha.5":"2020-04-02T23:09:59.255Z","0.8.1":"2020-04-07T18:36:24.081Z","0.9.0-alpha.0":"2020-04-10T12:14:34.268Z","0.9.0-alpha.1":"2020-04-23T16:39:16.967Z","0.9.0":"2020-05-04T14:49:04.728Z","0.9.1-alpha.0":"2020-05-08T19:49:21.717Z","0.9.2-alpha.0":"2020-05-13T10:06:02.930Z","0.9.2-alpha.1":"2020-05-19T09:54:37.385Z","0.9.2":"2020-05-27T14:32:04.862Z","0.9.3":"2020-06-30T11:24:55.504Z","0.300.0-alpha.2":"2020-08-06T20:01:01.159Z","0.300.0-alpha.3":"2020-08-12T16:58:25.111Z","0.9.4-rc.0":"2020-09-18T22:16:55.151Z","0.9.4":"2020-09-22T04:24:00.586Z","0.9.5-alpha.0":"2020-10-19T18:33:28.581Z","0.9.5":"2020-10-30T20:02:18.782Z","0.9.6":"2020-12-22T23:07:02.305Z","0.9.7":"2021-01-14T16:51:03.017Z","0.10.0-alpha.0":"2021-02-09T01:11:21.280Z","0.10.0":"2021-02-09T23:06:36.289Z","0.11.0-alpha.0":"2021-03-22T21:58:54.025Z","0.11.0":"2021-03-26T00:28:15.424Z","0.12.0-alpha.0":"2021-04-09T00:09:15.140Z","0.12.0":"2021-04-14T23:23:20.259Z","0.12.1-unified.0":"2021-04-22T22:22:22.787Z","0.12.1-unified2.0":"2021-04-22T23:14:31.567Z","0.12.1-unified2.1":"2021-04-27T22:16:50.771Z","0.13.0-alpha.0":"2021-04-28T21:01:40.573Z","0.13.0-alpha.1":"2021-04-29T22:32:52.523Z","0.13.0-alpha.2":"2021-04-30T14:06:10.579Z","0.13.0":"2021-04-30T18:09:59.443Z","0.300.0-alpha.4":"2021-05-06T20:22:45.826Z","0.300.0-lambda.0":"2021-05-13T19:44:39.099Z","0.300.0-html.0":"2021-05-25T04:35:15.429Z","0.14.0-alpha.0":"2021-05-26T22:31:15.663Z","0.14.0":"2021-05-27T14:40:14.247Z","0.300.0-preview.0":"2021-06-01T05:55:47.745Z","3.0.0-preview.1":"2021-06-16T05:58:54.644Z","3.0.0-preview.2":"2021-06-16T06:15:32.145Z","3.0.0-preview.3":"2021-06-26T05:43:14.129Z","3.0.0-rc.0":"2021-07-01T23:42:07.741Z","3.0.0-rc.1":"2021-07-02T21:48:32.939Z","3.0.0":"2021-07-07T18:17:43.480Z","3.0.1":"2021-07-16T22:44:57.424Z","3.0.2":"2021-07-20T17:28:00.410Z","3.1.0-alpha.0":"2021-07-22T20:23:06.232Z","3.1.0":"2021-07-26T19:10:51.048Z","3.1.1":"2021-07-26T19:51:22.365Z","3.2.0-alpha.0":"2021-08-20T23:55:51.130Z","3.2.0":"2021-08-23T23:50:29.943Z","3.3.0-alpha.0":"2021-10-09T00:38:19.618Z","3.3.0":"2021-10-11T20:58:33.091Z","3.4.0":"2021-11-05T17:54:35.989Z","3.5.0-alpha.0":"2021-12-17T21:57:40.263Z","3.5.0-alpha.1":"2021-12-28T03:10:54.779Z","3.5.0":"2021-12-30T18:25:41.496Z","3.5.1":"2022-01-18T21:10:03.816Z","3.5.2":"2022-03-21T19:14:21.776Z","3.5.3":"2022-05-05T15:52:28.725Z","3.6.0":"2022-05-23T23:58:45.095Z","3.6.1":"2022-06-15T16:55:00.706Z","0.15.0":"2022-08-18T18:20:45.168Z","3.7.0":"2022-08-22T19:17:10.202Z"},"bugs":{"url":"https://github.com/apollographql/apollo-server/issues"},"author":{"name":"Apollo","email":"packages@apollographql.com"},"license":"MIT","homepage":"https://github.com/apollographql/apollo-server#readme","repository":{"url":"git+https://github.com/apollographql/apollo-server.git","type":"git","directory":"packages/apollo-datasource-rest"},"description":"This package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.","maintainers":[{"name":"apollo-bot","email":"npm@apollographql.com"}],"readme":"# Apollo REST Data Source\n\nThis package exports a ([`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest)) class which is used for fetching data from a REST API and exposing it via GraphQL within Apollo Server.\n\n## Documentation\n\nView the [Apollo Server documentation for data sources](https://www.apollographql.com/docs/apollo-server/features/data-sources/) for more details.\n\n## Usage\n\nTo get started, install the `apollo-datasource-rest` package:\n\n```bash\nnpm install apollo-datasource-rest\n```\n\nTo define a data source, extend the [`RESTDataSource`](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class and implement the data fetching methods that your resolvers require.  Data sources can then be provided via the `dataSources` property to the `ApolloServer` constructor, as demonstrated in the _Accessing data sources from resolvers_ section below.\n\nYour implementation of these methods can call on convenience methods built into the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) class to perform HTTP requests, while making it easy to build up query parameters, parse JSON results, and handle errors.\n\n```javascript\nconst { RESTDataSource } = require('apollo-datasource-rest');\n\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  async getMovie(id) {\n    return this.get(`movies/${encodeURIComponent(id)}`);\n  }\n\n  async getMostViewedMovies(limit = 10) {\n    const data = await this.get('movies', {\n      per_page: limit,\n      order_by: 'most_viewed',\n    });\n    return data.results;\n  }\n}\n```\n\n## API Reference\nView the source code to see the all the properties and functions that can be overridden and their specific parameters. This section lists the usage and default behavior of the `RESTDatasource` class.\n\n### Constructor Parameters\n#### `httpFetch`\n\nOptional constructor option which allows overriding the `fetch` implementation used when calling data sources.\n\n### Properties\n#### `baseURL`\nOptional value to use for all the REST calls. If it is set in your class implementation, this base URL is used as the prefix for all calls. If it is not set, then the value passed to the REST call is exactly the value used.\n\n```js title=\"baseURL.js\"\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // GET\n  async getMovie(id) {\n    return this.get(\n      `movies/${encodeURIComponent(id)}` // path\n    );\n  }\n}\n```\n\n#### `memoizeGetRequests`\nBy default, `RESTDataSource` caches all outgoing GET **requests** in a separate memoized cache from the regular response cache. It makes the assumption that all responses from HTTP GET calls are cacheable by their URL.\nIf a request is made with the same cache key (URL by default) but with an HTTP method other than GET, the cached request is then cleared.\n\nIf you would like to disable the GET request cache, set the `memoizeGetRequests` property to `false`. You might want to do this if your API is not actually cacheable or your data changes over time.\n\n```js title=\"memoizeGetRequests.js\"\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    // Defaults to true\n    this.memoizeGetRequests = false;\n  }\n\n  // Outgoing requests are never cached, however the response cache is still enabled\n  async getMovie(id) {\n    return this.get(\n      `https://movies-api.example.com/movies/${encodeURIComponent(id)}` // path\n    );\n  }\n}\n```\n\n### Methods\n\n#### `cacheKeyFor`\nBy default, `RESTDatasource` uses the full request URL as the cache key. Override this method to remove query parameters or compute a custom cache key.\n\nFor example, you could use this to use header fields as part of the cache key. Even though we do validate header fields and don't serve responses from cache when they don't match, new responses overwrite old ones with different header fields.\n\n#### `willSendRequest`\nThis method is invoked just before the fetch call is made. If a `Promise` is returned from this method it will wait until the promise is completed to continue executing the request.\n\n#### `cacheOptionsFor`\nAllows setting the `CacheOptions` to be used for each request/response in the HTTPCache. This is separate from the request-only cache.\n\n#### `didReceiveResponse`\nBy default, this method checks if the response was returned successfully and parses the response into the result object. If the response had an error, it detects which type of HTTP error and throws the error result.\n\nIf you override this behavior, be sure to implement the proper error handling.\n\n#### `didEncounterError`\nBy default, this method just throws the `error` it was given. If you override this method, you can choose to either perform some additional logic and still throw, or to swallow the error by not throwing the error result.\n\n\n## Examples\n### HTTP Methods\n\nThe `get` method on the [RESTDataSource](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest) makes an HTTP `GET` request. Similarly, there are methods built-in to allow for POST, PUT, PATCH, and DELETE requests.\n\n```javascript\nclass MoviesAPI extends RESTDataSource {\n  constructor() {\n    super();\n    this.baseURL = 'https://movies-api.example.com/';\n  }\n\n  // an example making an HTTP POST request\n  async postMovie(movie) {\n    return this.post(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PUT request\n  async newMovie(movie) {\n    return this.put(\n      `movies`, // path\n      movie, // request body\n    );\n  }\n\n  // an example making an HTTP PATCH request\n  async updateMovie(movie) {\n    return this.patch(\n      `movies`, // path\n      { id: movie.id, movie }, // request body\n    );\n  }\n\n  // an example making an HTTP DELETE request\n  async deleteMovie(movie) {\n    return this.delete(\n      `movies/${encodeURIComponent(movie.id)}`, // path\n    );\n  }\n}\n```\n\nAll of the HTTP helper functions (`get`, `put`, `post`, `patch`, and `delete`) accept a third options parameter, which can be used to set things like headers and referrers. For more info on the options available, see MDN's [fetch docs](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters).\n\n### Intercepting fetches\n\nData sources allow you to intercept fetches to set headers, query parameters, or make other changes to the outgoing request. This is most often used for authorization or other common concerns that apply to all requests. Data sources also get access to the GraphQL context, which is a great place to store a user token or other information you need to have available.\n\nYou can easily set a header on every request:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\nOr add a query parameter:\n\n```javascript\nclass PersonalizationAPI extends RESTDataSource {\n  willSendRequest(request) {\n    request.params.set('api_key', this.context.token);\n  }\n}\n```\n\nIf you're using TypeScript, make sure to import the `RequestOptions` type:\n\n```javascript\nimport { RESTDataSource, RequestOptions } from 'apollo-datasource-rest';\n\nclass PersonalizationAPI extends RESTDataSource {\n  baseURL = 'https://personalization-api.example.com/';\n\n  willSendRequest(request: RequestOptions) {\n    request.headers.set('Authorization', this.context.token);\n  }\n}\n```\n\n### Resolving URLs dynamically\n\nIn some cases, you'll want to set the URL based on the environment or other contextual values. To do this, you can override `resolveURL`:\n\n```javascript\nasync resolveURL(request: RequestOptions) {\n  if (!this.baseURL) {\n    const addresses = await resolveSrv(request.path.split(\"/\")[1] + \".service.consul\");\n    this.baseURL = addresses[0];\n  }\n  return super.resolveURL(request);\n}\n```\n\n### Accessing data sources from resolvers\n\nTo give resolvers access to data sources, you pass them as options to the `ApolloServer` constructor:\n\n```javascript\nconst server = new ApolloServer({\n  typeDefs,\n  resolvers,\n  dataSources: () => {\n    return {\n      moviesAPI: new MoviesAPI(),\n      personalizationAPI: new PersonalizationAPI(),\n    };\n  },\n  context: () => {\n    return {\n      token: 'foo',\n    };\n  },\n});\n```\n\nApollo Server will put the data sources on the context for every request, so you can access them from your resolvers. It will also give your data sources access to the context. (The reason for not having users put data sources on the context directly is because that would lead to a circular dependency.)\n\nFrom our resolvers, we can access the data source and return the result:\n\n```javascript\n Query: {\n    movie: async (_source, { id }, { dataSources }) => {\n      return dataSources.moviesAPI.getMovie(id);\n    },\n    mostViewedMovies: async (_source, _args, { dataSources }) => {\n      return dataSources.moviesAPI.getMostViewedMovies();\n    },\n    favorites: async (_source, _args, { dataSources }) => {\n      return dataSources.personalizationAPI.getFavorites();\n    },\n  },\n```\n\n### Implementing custom metrics\n\nBy overriding `trace` method, it's possible to implement custom metrics for request timing.\n\nSee the original method [implementation](https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest/src/RESTDataSource.ts) or the reference.\n","readmeFilename":"README.md"}