{"_id":"serverless-api-gateway-throttling","_rev":"45-2ced2576dcc939a82fbc1c913b7d970a","time":{"1.0.0-rc2":"2019-11-16T17:40:11.088Z","created":"2019-11-24T19:29:29.381Z","1.0.0-rc3":"2019-11-24T19:29:29.584Z","modified":"2023-03-19T17:51:58.616Z","1.0.0-rc4":"2019-11-24T21:20:29.922Z","1.0.0":"2019-11-24T22:06:59.721Z","1.0.1":"2019-12-06T17:17:33.149Z","1.0.2-rc1":"2020-10-18T18:20:30.124Z","1.0.2-rc2":"2020-11-07T14:18:34.769Z","1.0.2-rc3":"2020-11-14T16:02:29.998Z","1.0.2":"2020-11-14T16:18:02.620Z","1.1.0-rc1":"2020-11-29T14:49:18.084Z","1.1.0":"2020-11-29T15:00:28.901Z","1.1.1-rc1":"2021-06-21T17:39:41.329Z","1.1.1":"2021-06-21T17:45:05.330Z","1.2.0-rc1":"2021-11-14T15:26:53.058Z","1.2.0-rc2":"2021-11-14T16:05:16.449Z","1.2.0-rc3":"2021-11-14T16:34:42.425Z","1.2.0-rc4":"2021-11-14T16:45:14.529Z","1.2.0-rc5":"2021-11-14T16:58:15.234Z","1.2.0":"2021-11-14T20:00:31.936Z","1.2.1-rc1":"2021-11-14T20:46:20.054Z","1.2.1":"2021-11-14T21:12:16.449Z","1.2.2":"2022-01-19T19:07:43.133Z","2.0.0-rc1":"2022-04-12T19:23:33.420Z","2.0.0-rc2":"2022-04-12T21:14:14.392Z","2.0.0-rc3":"2022-04-25T17:33:11.075Z","2.0.0-rc4":"2022-06-05T15:42:53.815Z","2.0.0":"2022-06-05T16:05:00.504Z","2.0.1-rc1":"2022-06-06T19:35:42.423Z","2.0.1-rc2":"2022-06-06T19:48:33.495Z","2.0.1-rc3":"2022-06-06T20:02:41.043Z","2.0.1-rc5":"2022-06-06T20:12:55.239Z","2.0.1":"2022-06-06T20:50:47.514Z","2.0.2":"2022-08-07T17:46:39.138Z","2.0.3-rc1":"2023-03-12T19:50:07.050Z","2.0.3":"2023-03-19T17:51:58.433Z"},"name":"serverless-api-gateway-throttling","dist-tags":{"latest":"2.0.3","rc":"2.0.3-rc1"},"versions":{"1.0.0-rc4":{"name":"serverless-api-gateway-throttling","version":"1.0.0-rc4","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^5.2.0","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT`\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for all http endpoints\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from global settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from global settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n```\r\n","readmeFilename":"README.md","gitHead":"7ae9c225680657a77c059ecc1cbabbd72f68f7d6","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.0.0-rc4","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-fC7MWVwDqXLNXeGUZ/6jeQY0Lxl1TseMt7YHPAFvr7gPo1u+WWd4ukSJkzA/rKqvKISYa42VCpiVgLzCrPOu/w==","shasum":"357b8c42330c31d1ff8321d435dc763968e2cc3f","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.0.0-rc4.tgz","fileCount":6,"unpackedSize":13002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd2vQeCRA9TVsSAnZWagAAnx0P+QH6BaryIojaFEaC/BMI\nHEMVzjl2UUAk6EaUTQ0djVOlLdSBzfwudC/BaJTeMgKkz0lUuOY+1UoTt8Yz\nfqzWiYLTVkSR40wKR5Cw5Y1C1eT7Sda0oflOX4gnNEly79jEOn+2VmCf2i80\niAbOD8RE0LdWxHUCvgDE1lupTNVGNHmhwkWmE3RPM8za2/Gf+b8wqDLwKpEa\nUocahOuy/rAFFI0fOElH0UtD/UD9kMXZTqwYKpDbtZGXtLlwqBda0SLb1Crf\nwh/fVYVchDYQhqbZqlLmpV8e7cAD08V9bFb+Cz6fVXefaWzCDYVau4kwYmZ5\nctEXTy9OhNTxE14dwdn1ZLPmKygtFVGUDWk4V2ilhTeqJ3wK3OFwg3/XiWls\nreTt0QGLKkf4DanELZQ2ZbmxNr9mGoYP0C4FYDHL/pSvkXlNzidsUcGSAVWs\nybKgORn/MVQRNfVpk9Asz9tGW8KYhegyb3K/1YyuNFzRg6pS6iUrNKPsMGpw\nP0qKD30/IsW0uc1IR5HNuQcNfwLXu3RKi8VmwFStZPXfHFDfV1MAisL0Df/f\nZJlBKyf8MOKBBEANQbM8CANuyZo1zakpe12n7RU2vyUde4Ktg7eM3dN/uZZj\n3kN6rWFIjqGdy2GcQluKTOwuG8XEyQBW7bkGy64alGQn+2uF6ULYel+bckT1\nvSjn\r\n=Nx8J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7AliRUPj7cdp+4lZ6DGttrilwDyfnyPqMAR0yXQiIIAIhAOdF/6/oMGiJxuKSPRK0njS+cezCnllvcxTxVHAv3RKZ"}]},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.0.0-rc4_1574630429748_0.8033214277449066"},"_hasShrinkwrap":false,"deprecated":"Deprecated version"},"1.0.0":{"name":"serverless-api-gateway-throttling","version":"1.0.0","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^5.2.0","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"a82a53a09c57532c098d2e34f9c7a3f0beb87c7f","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"dist":{"integrity":"sha512-n9Ms8H7QIG00saBXw05tQpTvDX0ktHop/TLv5ynlF2pbabMFLnKG/xY2O42Pf0La8bx8f0hpfB0B5xSk0aUw2A==","shasum":"3015b04fbcc5625e842aa2fe4c9445817ca165d6","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.0.0.tgz","fileCount":6,"unpackedSize":13047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd2v8DCRA9TVsSAnZWagAA8CsP/A2RuCxU18fYvaX/CoZU\n8sdQ4bFXdd8j3eZzdA0RUeaijQgnUWon8bbf4Pn2HheI+NMnmxwFqmgkzroZ\n9uEtmEwaGiYUd0tnjgAvVmy0p5x8X8T+rXSKSC3ZPefhCfs0Wz5opQ1wKEJC\nBRNmJn5RkfE/mHErgNK3FL5iwhQhQVwA8zcy0jOCI+LrT8RLfrpIc4GdHf3D\nDMA3TFLwV1sh5sZh8lyzfOMORUVMII7ODEsqDHv2re38I7+mZufuAJZaj07r\nExJbknAxNDaKcpgdIkx2FuJpyjzTWwMiBcqO6NJ8V0HcodveST6zUr3S3d6Z\nLakR3Nzz+Wu8rQh24ZtNkTL0qasu35AP//GK0gYWjuPoOjlTCGt6rwxLLgh+\na2c7qGQwNvHvbUYF4viEzJnAruvjAMBfjoKAWQz8rpEfEj/w+O4+5am6APJd\nU08PTbIaHGm+BkBvo5hx0wfocp6P4gYpHt5d2/I7Ehnb/eYPnQufn5lWuv5D\nDft9KMN8+pE4O0FU0JqJAs/MsjE9jB4wW/wKdIQ+DJ8N9BAHm1Kx4iBkW2Po\nRlj5nkf+q3prHC0Ekf2JpQU1Kadp3He+j8uwtH0ScDwtb9AsFzj/lmjGr6Zw\neYeIBqYlBW1XM090wV89EzH5MSIWMjO9bKJeBHWPpBW6z4vAPzG48fQiII72\nGeSY\r\n=KFBK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEVIZHr0TNQXmh/v2ZQfd9aFkA/eRvaqXcKVzDt+86EGAiANd3Bg0B+VlVcziQoWGeaXfrzn9a4iU173RI+6xKTeQg=="}]},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.0.0_1574633219579_0.8163557846973317"},"_hasShrinkwrap":false},"1.0.1":{"name":"serverless-api-gateway-throttling","version":"1.0.1","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^5.2.0","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"58c4fec315c8bba0656ac593051cdba404f33037","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"dist":{"integrity":"sha512-HuH5rUd9xZe4YNijWk35tjf2xgm2G0lbrikLYe/A+XunZVtmKzh3q8laIsIAYiufH6F4oUOvGQMN8Ukc5oeN0w==","shasum":"41deb0adc06a6b8703eef34ccfc36d4825181e40","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.0.1.tgz","fileCount":6,"unpackedSize":12982,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6o0tCRA9TVsSAnZWagAAE8IP/jStlJyWp2fMXyGZNFIF\nir9QqhDn4U/6uNo4xk8+kWPnBX5mIQG7szDpveUW+xWBc5sawb6FMXRw9XIP\nqN+GQK7fXf+Utd3kRqhJ26KatXeGdC9xDEOvPBSlmIwtGhdeKANSvPuKbDP3\nj9RqU5am3PVgnhvM2cO1wqxXIMSCCAuPkXpmCFYH/UnVYA+7SrUspaSCkCxr\njgo3fiUEI5De2wz+lulgUSPVx39+fvW28+ncFv5VYqsV71wlVt5BAI8UfFwM\nnyLPZsKea+LJT2feHexM5Y2TFC5LCjJpzVzpGzUvsYAY9N7uJhuh7KcHXNEX\n+3wq9eFVnGH7rJ9bIjxSFJ/UDFZinWRH9lPF10vyvZmnv9B3ShGi3faoUpDa\n+Y4JBBKYIbZQX0PSdNx0ndil09V3kTGbQit7kCMjxSAMkE7E/rywzGhiqcI0\njUGBZDggAlPiHxe5nwdAGw8pjHVZqBVoy4tvXfL6lzbyKOzRw3zxiUhWiV+G\n+8a/erWYsYnOZKbcXSph+aq6V5Eo0VDvQ3Vhe9zUTlQNvNb9uadafe7JiU6k\nV7/YpUcDOoSvutwMZdR2f14ZgtqGBoRmTobXtjlTM8kv9nokUed8PwdALAVS\nntVERiNhqA3jT8/emG8gwgzmIBNNfzKNWEeLN+NQxpX5/Y1cdooXNMJWzIeP\nrWcR\r\n=d+Rq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAddzJAa/9Fe3Kq8L7hfMCYo6R2Lkrpv+JWodUD/extdAiEA1I4ZeXyvUH/JYM1OaLPasIteT/IGjEqPW/J0LevJa/U="}]},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.0.1_1575652652981_0.2907789767770381"},"_hasShrinkwrap":false},"1.0.2":{"name":"serverless-api-gateway-throttling","version":"1.0.2","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^5.2.0","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"0b9e76402bf5e84b0eb9cb234e5cc1d5d5b2258c","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.0.2","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"dist":{"integrity":"sha512-opsx3Pzm5+4J/DelNZbE+RyYQWbEEk5snJ5l/y488Yfy8jANkctWGdfBRAweS8/GiVeUFPIS85L+eyZXccrxFQ==","shasum":"ca694780e830154f2e80ada379320f86e2b15a7e","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.0.2.tgz","fileCount":6,"unpackedSize":14029,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsAM6CRA9TVsSAnZWagAA9VMP/jLV/ADN6appAyXf6pV9\n0grhmrRdY4pNA83evW323aZFFgMqvEHiJRRjqBbrGwT5vr9gWqlaRAB0xm6s\nwH/zTMcFpA40r6Fife27hco4/c9Pt31A8qh1yc3nuhNmrI98FMPMrWNRFgsf\nWOqDRDLfNU23Ow06VHlOjHJYaK+hXWOaZZ1kzppvrHN6V2itW/4SPuJWBpNr\nLykhKrxK3tg7SOJQyDcJ4q2TS34i4T55/DHSEVqBf89zc0CZpg0zl+K7LHKh\nhD+3dafY4eLpdwSLko93zCodBTNaHuxh/5pv3TlGrOGII2VAx8uwpCBOle+T\nMaJXdxnY0VwHuVy6Vs12qQkWHmgzdB4ohOi+xp4Ru2PcUgUmxsHKHBAXVpLk\nslvOd28S2UGQsrmonG73MFsDClUC3zlGf9rDRLmtPy6VhXHO+/+xCpVY6pmk\nLZ8kPnCbgM7S4q5ZTeiOz6hb54QorRlSVx/stTfn6riX4Or+J2/gUO07lclk\nr4v42AUeBIMnyiAXHlF2Wx3tUcV73ZyBHTscbK6iu92h4sQK1n+VxxwtWWGq\nXwBiPJ4nBM2nmIyArH/9re5UzQGzE5MasU+xsCVidMncbnU2Ty+Irruz//aA\nNWL86/3TiXFPAg91GsrHFB39sqXwwiBOaxFCHo85v8hqkG3kOMkaMcOc4jiw\nVA2I\r\n=5J3N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFwamGAluh39qlKxeI94KgLIJc8VLbgVg809eFOco2WEAiAJWrzVl0SL95kzm2aXw+U08SSxWXDGINCLeWPOik1Szw=="}]},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.0.2_1605370682403_0.7966824374816177"},"_hasShrinkwrap":false},"1.1.0":{"name":"serverless-api-gateway-throttling","version":"1.1.0","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^5.2.0","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"7eb723fc60d6af81b60507f84b3867522639fab9","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"dist":{"integrity":"sha512-G7oGljm8P0dQRoOMk5WwhHf698j8/f/BJMSxydeLN8RZilESqwNf5Yn0Dr2+7Z+VCqJ5vgUKpvVBcov/9nLqwA==","shasum":"8f349e8418c0792dcd0ba7f6013d14057de20245","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.1.0.tgz","fileCount":6,"unpackedSize":14757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfw7eNCRA9TVsSAnZWagAAKnoQAJZmsOxea1one0BcSt0E\nG4Adk0+1161voS/E8g2/LPMRgTWqVf4s0KDELJdSUAx7gWG/Mu8iyD8WYIYh\nV4dr+D2BoVfgJIt/CI8xeqlvY+kvfUWu1mtnr6mb7myPlizPvP5ymoIYCD6j\n0OUWFnvFcyozzuqzZShZvikOEd2Ztm8mI7MlINT2Ak7lQiK8EvYx0+fFTlnj\n02+mb5X/PIf+ocK0IL/sRwgcLI8HoHLq7anDdVevfUoH9KPcofNZH2+VHuZg\n3owi+ZyBpkp3hXeg/PmqJmdbNaeePvyEn8rRthtrOlzHENVOzNvC1wWa8nD4\n0lUVE61AtDcTx3m35nlNR9k7Os4jI1656IxtqQQt+M30zU+edaq+g8p7oVAF\nm4YLeFIgEytVRjIDa3SrzLuZ98ICjU4e3CwLCmtKOUy65PDzAChhnwenyw/e\nMvmntr0j4Z/snPWFARiuNwen3cJieXEhIPq2Ar4NJi4z50AFj47YkjFVqeH6\nZU7W6jO6dUC6ZEtx2Wb7r43rXk5L22keOBCtsZT1L5SxEmj+mtqSNuAInkWj\nr6OujzfXzRkr/savjIobOYt1qoGAzf1JgB3kTpx/dztfKkbYp3UA04lNFWpA\n+tHvsYsmgcdeU/xqnRUXQskXErPfWQyxuCdrsEAXnkxkP7Df0dxlxSN5jyZ8\n267w\r\n=H8rE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6B24w07o7lKxk0HcW1XWCv3MIEVZs59WhOTOiv236NAIhAPSoMZQG7q7B3O2hZOTJAv/7ewR9VjlOninl8CAKQgAv"}]},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.1.0_1606662028776_0.9586881652012471"},"_hasShrinkwrap":false},"1.1.1-rc1":{"name":"serverless-api-gateway-throttling","version":"1.1.1-rc1","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^5.2.0","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n```\r\n","readmeFilename":"README.md","gitHead":"a7e967e2e7a7934cd4f97b026ef8b978d6328d1a","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.1.1-rc1","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-oLF0XzayaUNmB1ThtQI6LLsnWK1aJYSNq1FJ9t/LQa8ZrUJSmhAV4iwrUEv8Xojxp28Hs0nrwT9aDZcGkI0K+w==","shasum":"428515124b687eb4c63ba38b20bf9a9d14ba0dd2","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.1.1-rc1.tgz","fileCount":6,"unpackedSize":15743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0M7dCRA9TVsSAnZWagAA6eQP/0RfStS7FRsQIcXI11Qx\nSCQ3G7qech+kXnn8BNBkyWIeOmw1LMB+IzOpufn5HhEHy/TTrCz/m7ZTaGlI\n+hYyHT+Hq64BI3xaNUQAN+4FC7o1Wkh0cMcSTQD+pmg5Y0UsvCO2mCPKXkIN\nI2W5UqQg7ZVYHXRpCohambnAAIecC4oANiQ7vxGYg9gyf56SebJSaYvEpT+G\nr2t76Z/khPmncyzllB8vZNDXXdJLJ90WjK1PMYFvev51wxLzfgGNgSdPbTAt\nGarKMxmkn+wWVNM19WruBNtrA1Qd2T5LacXvSW/JNbqltJWYnMLRUmqmgL0L\nohViw2/D6dh4s7B6hW/WjihPJqES1H5BnUUtwHB2M+TfZEoLJ/0E6CMy+A0Z\n9Hl1aTt1A4xiZsnif6Y8VyXSdr3t1CXlI9CI9mRAPIXe4bzgQZICLax529Zg\nXolhCLd/ibuwJrV0WbQk2ligzG/K71lrz4qlZ1pBOKPKrVZCeO0YksD2pfqG\nG29/jTAl4CHsS/GovxOo6dgGjZTn2GObI5PVk7U4O/pDaaXevUHKDhB+baHu\nYGU7ZYt7CFpGV1AAEh1y+3rG1wPxKRo2X1xCdZH5CzMHkxtH6r+cCU+6uusn\ntqlnMWWQXFi5XQ6PiRgjpOgWA44y2hm3QH81RijjjXo0fsitm4Bs0tbhaDKh\nyfhe\r\n=EJqF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDqRKto6G4uTmEKf55BNbDfYjrsM7r/qC/V/zMGtP9kxAiAbZTCAMlAuanhmtE18wOnukqk64JqwFZhMo4DNndmKMw=="}]},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.1.1-rc1_1624297181208_0.3262138152273375"},"_hasShrinkwrap":false},"1.1.1":{"name":"serverless-api-gateway-throttling","version":"1.1.1","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^5.2.0","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"2bfe55d0266eec5dc17f80398f32a41cca0f1d63","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.1.1","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"dist":{"integrity":"sha512-IDebTYrnqXkAGDFAqySeAeqO4yjW+805Ou2vmEVeYOgeXwEFz/32D0rtyZLmJ4DgYdvhiqFojNuwMVNhJyVRlw==","shasum":"8e44303c15e981d4a7f2a23259164c4c8e642c94","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.1.1.tgz","fileCount":6,"unpackedSize":15257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0NAhCRA9TVsSAnZWagAAzWQP+wVqm0eCbJotT3g4bSkH\n65hORNB81VKRuQQJ1Twsi00VogwKKr0WZr+XQMD2rYdG5oZtMSfT7iyIBZMV\nhXazqrJgcxObZ6H4rQ4rnz6/THnisCcpsDcS5Lov23k39nGjgTuK4uN25E3y\nDMdJV9fSpkmYfbvBjmgpWo79JXd3o14flrvlNeMGwQDbZdeLLKB1Nd2rOH9L\neteS5y/gt21e7f8HXt6u9CPv01fi3DjDe/wNvpbf+JE9UyOMwiCqBSnkbD/2\nM/AgNo/BySCOgkX7c705BS/Q+8vqyEQUwhrcLs5p8BpYJC0WScHw7bi0yyqV\nPY7gCj5THiyrEV4WWXjGcYTIDoht57bOc9zhR6zLBdFlvCIfFqXU6nUnbYeX\nmCK3gNzYggS6VksTKPo+IVM5yleKd3Q+klZe0eptT+dVHoI9XmQC7PJYGz0/\nLp2t6OBVTfb9WXOXLJqnp+hTBZN/OZIxwdxh2S/us+XW2FhQSBm3l4vjx7iB\nlERg8sG5J8uXrw3eATCMeHIxZBo7KSDphOuS+wQDOcynpnVNxSSZDVaiv2Zh\nDMR6bxdncT+u4Z1yyzzcfeVVSekmk8qnyGMMsAo971pnRSiHwoqfUKl6Bred\ndHu4vhOjVafOZo3CyuaJ9G69I6DLZqEnUWNrkkb/wBFNJFA/njjrui3IQtsE\nXfeD\r\n=7z1V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFWHFah7vMI3Qctr+fFZqtWwk5m+5+3LVf/grl7cG4cPAiEA40YyKeBl9b3/LfCADqqA3oZ39Gb1R0vfV+OsvxWszA4="}]},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.1.1_1624297505185_0.7082946620567847"},"_hasShrinkwrap":false},"1.2.0-rc1":{"name":"serverless-api-gateway-throttling","version":"1.2.0-rc1","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^5.2.0","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n```\r\n","readmeFilename":"README.md","gitHead":"eab0b4449f3b2d3b15eb5cbe4eaaaab7af6a8b01","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.2.0-rc1","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-DP71/Ulx8g0lXvi7jo/8c5MKemzKPIDhPNqczk8V9sVX9iTnfRr+xnRV0whm86YCV/I9o2qjoL5yMjLKHxJsxQ==","shasum":"aeed0dc7d95f2e55788d0260836762ad9588d624","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.2.0-rc1.tgz","fileCount":8,"unpackedSize":19872,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICDX+BNLFomr4EPeGJdFzr3nXeuUaa7o+vHI+129VuSIAiADRBJICr9AKn+S0cW3kSSUIDcpCfICpWV7ljrZVMV5UQ=="}]},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.2.0-rc1_1636903612910_0.876387428848775"},"_hasShrinkwrap":false},"1.2.0-rc2":{"name":"serverless-api-gateway-throttling","version":"1.2.0-rc2","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^5.2.0","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n```\r\n","readmeFilename":"README.md","gitHead":"eab0b4449f3b2d3b15eb5cbe4eaaaab7af6a8b01","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.2.0-rc2","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-RXREEOCetP8pbzpYzBeW5PYCA4sKbV3Tin7ComZRSwCw2FW/QaqVwKt9EkZqziZIeYjfT7kOP5E1BGP2BOe7ww==","shasum":"479e27827c45a74a277c396f9cc9fa9eeb8d8901","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.2.0-rc2.tgz","fileCount":8,"unpackedSize":20759,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFUAKLicxhq51jd38fU7T3kZgYUGXQck972dKJmYyXdOAiEA25HoC2t1RbjvAquyrLY3RIsrWQDxNMVThraargA6MJ8="}]},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.2.0-rc2_1636905916311_0.28704687789193484"},"_hasShrinkwrap":false},"1.2.0-rc3":{"name":"serverless-api-gateway-throttling","version":"1.2.0-rc3","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n```\r\n","readmeFilename":"README.md","gitHead":"eab0b4449f3b2d3b15eb5cbe4eaaaab7af6a8b01","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.2.0-rc3","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-BEqMYjCo4oVJuGUXa2+iuiYGm9IYoFnwLuIrfayQDJZFxEWLIO7zgR9ag8yIyFBDXPc3Ml1WGH798SbirjfPnw==","shasum":"77a2a467b9fdd609df06410d4ce62a14930482cb","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.2.0-rc3.tgz","fileCount":8,"unpackedSize":20843,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHD0zEXByTJrz55I2zxOBpNRRFholRneHt+NAbS3ZCBHAiBPTeyycZoof7DJM72vYbJ4mzaVrDMAg1JP3sFyKQqcgg=="}]},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.2.0-rc3_1636907682273_0.8256511309124284"},"_hasShrinkwrap":false},"1.2.0-rc4":{"name":"serverless-api-gateway-throttling","version":"1.2.0-rc4","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n```\r\n","readmeFilename":"README.md","gitHead":"eab0b4449f3b2d3b15eb5cbe4eaaaab7af6a8b01","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.2.0-rc4","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-fquxLxN5bNckh3kWQ27RagcgmqolZzJgGTHqaxTYllvNZQcnW/eYoI0A5AMflUi4QKUwXbx2w+uTa5iLClcL8w==","shasum":"dc7986d8f61765b05b00454d16c59c17b7b44528","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.2.0-rc4.tgz","fileCount":8,"unpackedSize":20883,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBsv0AtdVKSctUjjADRChZhi0GctbbokeKkyQDl1cagRAiEAy29iZ4l8EhMEHhr0l410Ja5y5wIGLEqkVADVq5CAiAM="}]},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.2.0-rc4_1636908314363_0.8848564806262398"},"_hasShrinkwrap":false},"1.2.0-rc5":{"name":"serverless-api-gateway-throttling","version":"1.2.0-rc5","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n```\r\n","readmeFilename":"README.md","gitHead":"eab0b4449f3b2d3b15eb5cbe4eaaaab7af6a8b01","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.2.0-rc5","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-l8O1sy4sDldBxAk0n6ZYSmOtxhQKrPxUmifpvZGWJenGy6D+0fJYfHlF3rJCaaa5rJ0AaeKL9RMgda1E7tpWwA==","shasum":"153c20f203321165b60e5fd9321079d5f3f1df32","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.2.0-rc5.tgz","fileCount":8,"unpackedSize":20945,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKDyf36UU+ScGjzY9hb+YFSIhMFtc17MMRtqByeKV4agIgSGkFcdT1FflTEVedGxC7eQyfYrG1kS2z884VgppNZSs="}]},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.2.0-rc5_1636909095090_0.22710584694426328"},"_hasShrinkwrap":false},"1.2.0":{"name":"serverless-api-gateway-throttling","version":"1.2.0","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"e38076bc6123e5ed8f48007d43311d58a61d2a6a","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.2.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Q7QT0lmkXP168JaI1Tv3U5nRseqcis97lXJWOj2mZTDJL3qjT2Jm8STFppmou/ivBt5dlqgTHBEbsx3nyQwqOA==","shasum":"a4a50ff7fdfae4f5d3bf2f253aa747aac795d2f1","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.2.0.tgz","fileCount":8,"unpackedSize":20200,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC/SqgyPNQ75K5w/GdLoV5zLwJZdvqk0LWomIkmWhn0XAiEA9n7sG3X4Q4dGn3YbPiw9fJ3pBeNmTVC4l1Q7DxMRJCM="}]},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.2.0_1636920031783_0.1410821129372537"},"_hasShrinkwrap":false},"1.2.1-rc1":{"name":"serverless-api-gateway-throttling","version":"1.2.1-rc1","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n\r\n  # Throttling is disabled for this endpoint\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            disabled: true\r\n```\r\n","readmeFilename":"README.md","gitHead":"bb84432bc5c9db403553b3e1917dea475a6d8d63","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.2.1-rc1","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-2KqP6TJwGLbq3F36MXexm0Tn4QgWHj91uBAwjit6v6sHY6zFIjUSyBe2vE+auvZVNV+mFaVGksv0sJrfkafnpA==","shasum":"cd5d904feba0b676eba79c7c68bca35c2e986038","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.2.1-rc1.tgz","fileCount":8,"unpackedSize":21123,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDo25BWncXBxLb1487gDUeBNWBHlqwIWQ54IUeC0pJFTAIhAIFxvofSnO0ezaBJnfblvlfdN4qSqfXvPQ9/hlpERfmu"}]},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.2.1-rc1_1636922779885_0.6936754484046952"},"_hasShrinkwrap":false},"1.2.1":{"name":"serverless-api-gateway-throttling","version":"1.2.1","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"cf1d36a1fa75685fd9bcf472359efd42f85d07aa","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.2.1","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-nq7s9bgfMEDHnLiG2vP0JLu5/OMkhLEoe4Jnzj/iHFpJOwLJL4K0viuVzZfh0IHBko3t1EBE7+rQ9v/SezuE7g==","shasum":"2476449d491adcf042318a531c89a97dda9a0a10","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.2.1.tgz","fileCount":8,"unpackedSize":20830,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh26vPCRA9TVsSAnZWagAA+1cP/A4fiic94Eu2spIeURZM\n+KSp9ipiaOeaiPmzfx+TJClNuPmwHit+523CZesqoTPT2TgJcRUfSJuImZju\nFXhLPi6zicaZ0s+2HSSr9DTpxOawvPpRiYRSF69Qt2KeNf/3Moou/5K+ydBh\n3GvFhCUjIh1gYSYnP1FsukjKCGd5fHGvpWQVQTGtadJNSptk8lIDAXBXS1GZ\nbFRhCCwBvTnVmh5OOe8gK/gZLmcNlcyXFQ2NQgsCd9d751NHk2rZBSLm1Z5X\n+fECds3MG22WFyWjjCHfd4fP+6E4RAeijZzMQR7zthqhZLvTPUfc2TPnswak\nTifIJjZboG3PiDmhbNT4r6tJuEAblc846l3MLUKon65nkadhJ7OiVQUhtOWe\nQps7G7k+O/BSRDDt6PWcxZHGWpe/0MqgqApT3YEDv+TnCJVop6wvMsKWzFe6\npLDvaumuZPTPwf5Nv2dJmH2QBZ6DJ9EJhFLQTN+019fdfUbeSHxmWkiFH2E1\nG5nHwMq6INv8twzDFGX1SD2JuW62zxxJsepidqQfeDuji8bexIilv2rOuzq4\n3dV/QlDl4EvTj6CmOC/RdjtSCjsfc5GwQ7rsysnrHSrwI4Xtxk4v8Etx9Y5Y\nhaG1tUUL7ni38bhfqTbA7amXNNNuftAaknMbfCCddnbhxCI7x6WWiIliEojJ\nnD0k\r\n=YFsw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGOiS9RmbAyK3M7UyOGs1y1K36S/9EfbtlCVp5PULSMMAiEAsgyF3xoDiOAoSgScVqhYXVr4nu+xyXJtBpzyCMFzFkA="}]},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.2.1_1636924336294_0.380907132089503"},"_hasShrinkwrap":false},"1.2.2":{"name":"serverless-api-gateway-throttling","version":"1.2.2","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"4b14ad114bbf5e8c4479b0e21a7c626541a58ee3","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@1.2.2","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-ZfQaWOOn3l7M2tyWfU/NqQ+jNSV1rhRGnPTerrRMOpgG4XJZlc7YHDj2156eaaLIxPKr8Sf96HsKgIBOQA6M4g==","shasum":"6a13a80b7a9dc93d10d4de9aed61d6587506a1ec","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-1.2.2.tgz","fileCount":8,"unpackedSize":20882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6GF/CRA9TVsSAnZWagAAflgP/3OSoDZzbqsmj56tTxsC\n4gkF9RRZcT8OhQSMypduILPzhBLOBDt6yPXYrOz1t/wkjvnmPTfnBjL5VHlV\nEWFXhS3fnVZtJVP/silY0WZAEdcimVSMcT0dLf5q2G13j+95+A1O+15XGo1V\ntPslA2HKS+tCVGsbGL7m+KJkoRMpGjEPDr0zftVkrJcS36n1mnPGJ9pYs5IG\nRXFjvVzCky5nBqGY7ay0mb5LEm2IcdmoSt0Y+a7KcBly/+Dz997NLjevpdkB\nhJwZKeGmRnS89FGH9NLpbzMYVoS5iMBmA78k+HcnutsOMbcRCv5ktv/MWlwR\ngMmP2MtyKMqo1waM5LgzzR6z5BsohYcIFY6Fe6IaXSWtBVLf4Escb9Ep8Nvj\n8PkAvXkA4Y2SkFls4KSL2RR6FR3pPE7XkjCLKB7q7zDKh9miKEa3MAAUnfjH\n+BlFG1wYaAWWqMbP1hZSfdPGbmfJe94UEE+i6/AzE8mqRZKwvZlGor9StKg3\nPH1XxpJx6PZpqEiMXfujCm5DlFC76CN+19ZNNLYxHIh+Gc1NuDmLn+Tke4sd\nhIXkM98SGckW283xcqYGg21dFzeEq/Q9KL7pFfZu88gzSUhNmtTrR0kEeQA1\nicWnmPwi6bUtMwE+CjxnnFwKphfKS7VdUL0kIlSjr/7XMrQldUSRfngbncFp\nboLh\r\n=BR4+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBLQzrfPJgT64yHA8TIhsa7y2356g8vd527szDk1PK12AiAhySWRovQF3PxORicEXUqFEw+pOfq8rH9hiGqiBCqlcA=="}]},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_1.2.2_1642619262977_0.3881954599629467"},"_hasShrinkwrap":false},"2.0.0-rc1":{"name":"serverless-api-gateway-throttling","version":"2.0.0-rc1","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\nIt supports both API Gateway v1 (REST API) and API Gateway v2 (HTTP API).\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## How this plugin works\r\nIt configures endpoints in the gateway to override the settings they inherit from the stage.\r\nIf you need reset all endpoints to inherit their settings from the stage again (as seen [in this issue](https://github.com/DianaIonita/serverless-api-gateway-throttling/issues/16)), you can do this:\r\n```\r\nsls reset-all-endpoint-settings\r\n```\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n\r\n  # Throttling is disabled for this endpoint\r\n  list-more-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /more-items\r\n          method: get\r\n          throttling:\r\n            disabled: true\r\n  \r\n  # Also supports httpApi\r\n  list-http-api-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - httpApi:\r\n          path: /http-api-items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 3000\r\n            maxConcurrentRequests: 1000\r\n```\r\n","readmeFilename":"README.md","gitHead":"6909e03f40d28c04117f8dfb5b543c3d7c10438a","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.0-rc1","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-8mfN3Oi0uuLo05mFdeeEG3GmVxPo91VtT/MerccDHT1zixtUpNNhSEuoDWQGoe8rVmiIuBLqQ8qUmx7Yye9vRA==","shasum":"2090ed27f10be668ed34eb926a8382102d354129","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.0-rc1.tgz","fileCount":12,"unpackedSize":29476,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDdu1qZfVIhaI9MNWgFmrRQjBMbkIPeUHcQQViNEqxwWAiEAgkdEGhot70IXtxV/7bTkz5gdkQ1oXtbfzb0fll4ntOw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVdG1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpgng/6Aidgv2nwo/eeOr2bRZrjAQbDalAyZWKV7qnLD5NMxe3RHzBC\r\njVo6hE8Hb0MGRNl3Gc7ocL4ILsmsrE+eHqfO5UjkW2fMH/ybfcjtc+M1ta/M\r\nPXrUMXe+pMemAeMcZxrgQzJd90Wd8gs8stgsl9AfGgfQZjdnum087lr/bKsp\r\nKvysAjYEe0Z9HOQsYwdtdAlMS2b4pdqilqpyqfTrNqDO347PAWNYB/k0qIzQ\r\n9E5rEQZMIqkeS6LWbxMotiafCmXsyPXRu8Ek6/2lkabtroSQ0798DtTZVrEe\r\n9LNMgoz+WsXjdQAkdLzj/3EGuwEn7DlmvULFbUbQwglqpo+V1pNbmo6/F8jC\r\n0SNj5E5Gm89pyre+pijdN2yniMYRx1+Nekl2hU2Kb0jKST/9kXsh5R6qc134\r\npDC9hum6c9MDPxqrINHAYdY0dn+k84/HnXxWGO87IJ1AbbIVuo1gPSaaBgwW\r\nSjQ4i98A/sHUIvMQc1ZU6u08nBlhlpCLnlSnC4MncQanEyTk6TrFtw3lLrlm\r\nyP7Mib3plUZvLscDpd9leGB5XPxESx2XuxGvYHxS1eD1mLj6c7AZ+6VcHxGU\r\nel8F1z6J9nA0myRopU8XfCBr4ca2o0LvlVUqxJ46jnKK+Mz/LSy/dHFnjp0z\r\nZriFxRh+O2nka3Z3Au3NxqOS/q7HFghc+JI=\r\n=BVUL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.0-rc1_1649791413213_0.9440034879660324"},"_hasShrinkwrap":false},"2.0.0-rc2":{"name":"serverless-api-gateway-throttling","version":"2.0.0-rc2","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\nIt supports both API Gateway v1 (REST API) and API Gateway v2 (HTTP API).\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## How this plugin works\r\nIt configures endpoints in the gateway to override the settings they inherit from the stage.\r\nIf you need reset all endpoints to inherit their settings from the stage again (as seen [in this issue](https://github.com/DianaIonita/serverless-api-gateway-throttling/issues/16)), you can do this:\r\n```\r\nsls reset-all-endpoint-settings\r\n```\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n\r\n  # Throttling is disabled for this endpoint\r\n  list-more-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /more-items\r\n          method: get\r\n          throttling:\r\n            disabled: true\r\n  \r\n  # Also supports httpApi\r\n  list-http-api-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - httpApi:\r\n          path: /http-api-items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 3000\r\n            maxConcurrentRequests: 1000\r\n```\r\n","readmeFilename":"README.md","gitHead":"6909e03f40d28c04117f8dfb5b543c3d7c10438a","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.0-rc2","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-HcDP7TOyfGLOICTpRVzytBfP7xDZrmr2RzxgaPkwcIjV3ok5wVXjt5pBwjNu5PPP1MSUGeowkPmr5iSOohFu4g==","shasum":"1707fe2bcf45fe9bd29531cf74c8534452b8d117","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.0-rc2.tgz","fileCount":12,"unpackedSize":29635,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGEQGJY7YOMyGX6rJXehe/tJ/AzehYtcs0BpJawsFcizAiEAzR1ypAxsrQGFemutNDlZNdqbaQtByAtHaT9aQ/bm7Es="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVeumACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoMTg//eAjwLhzgMBdm0Qpv3aWNeWCvUV1bwW7/qqXwknpu18gGjrI3\r\nl+jDHJ1FtTW2X43GKZUwomDppAg4WfuWLd3JB8gR7oDIvbv1ym9vh+J1I3II\r\n8BxRwj0e9RTFZcSdo1lReakcRt+lx66qp23yYdgFhN11qVSA3EL+J94DUt+I\r\nppPjhfQhR4vO8wVxvHGKUH/gJkQ4ehXeK9nt0FNtSs8+xnQepw0iW1GFfwCl\r\nDKWQySx7CcmICziAFCzF31G3k0CO5/9WQH59Qr4/9vWH38DzybnLInyhtNWl\r\nnxCGcvBsa3c0fm+2+qnbE9lFNh6Hav3YISet2bQksb/sIm4CxlE3Rk6KLsha\r\n1zePNgD++b0iEdqdudGLo72BOs/B8RozNmrwi2wikWsBCOyejvy7iGs6a4w6\r\nDdRlIo9YMavH1byYgu/2YPWlTbd4V3E/OeRznnYKUOzKz3v85lZXECFJhT6w\r\n6h6TWXBK6M2AobLR9mYrCSk9Kbsd/KvPUDnUtk9kr2sx22eYMBDuBSFRhdoH\r\nIFW52oJQ2F68F5nDDzq9vbZ5fFpCLnTWO1GJs6H0zTsaR9IaF9AZQP97REul\r\n5/DQV5/BKqWv4L8XlqWfLRzNPKE6TZYtY82KIE6N/PEIp3RqBpSQjp8fdmOp\r\nVtCw3d7ooTOg/kBke90lrIqKiiuRd9ftZnA=\r\n=ti3C\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.0-rc2_1649798054247_0.14438695413132185"},"_hasShrinkwrap":false},"2.0.0-rc3":{"name":"serverless-api-gateway-throttling","version":"2.0.0-rc3","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\nIt supports both API Gateway v1 (REST API) and API Gateway v2 (HTTP API).\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## How this plugin works\r\nIt configures endpoints in the gateway to override the settings they inherit from the stage.\r\nIf you need reset all endpoints to inherit their settings from the stage again (as seen [in this issue](https://github.com/DianaIonita/serverless-api-gateway-throttling/issues/16)), you can do this:\r\n```\r\nsls reset-all-endpoint-settings\r\n```\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n\r\n  # Throttling is disabled for this endpoint\r\n  list-more-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /more-items\r\n          method: get\r\n          throttling:\r\n            disabled: true\r\n  \r\n  # Also supports httpApi\r\n  list-http-api-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - httpApi:\r\n          path: /http-api-items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 3000\r\n            maxConcurrentRequests: 1000\r\n```\r\n","readmeFilename":"README.md","gitHead":"6909e03f40d28c04117f8dfb5b543c3d7c10438a","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.0-rc3","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-tMzIJlvHRbURd7Ky3Tgw2SsJC8hnwOGc+Fz1iq/3j7OWJE/3T32l9FMzBa9i/Aw1zQJncpmITzy+AhYHXzb0Sg==","shasum":"6968a8e3ff3a03b46404cdf1e0c4548188f19f94","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.0-rc3.tgz","fileCount":12,"unpackedSize":30197,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAhVe1vdRTjxdVxYlDvEcItyDaenVAVQHOcm5JrhfW27AiEAl2zB3Nf6fIheiWURihcqw10VKEN5qSEBFZhjwWVUmvA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZttXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpnug//btQ3HOj2+jSW+w4D+CDaRt+B0oTcXKM5hcYiB6FEpmsRjFh0\r\nsBHVnJDZy+YXxHxXteTsPeSiEbt/JXD2dlP0J8QKjfR6rNXeWeiUl5MTXRy3\r\n42EZt034I22UcmMlswJwXt2ffuV8HwwhNqbuzXp0phBesYFPtO2b25nM70Vv\r\naNjtL1SVXGTn1CCJKFkqwl4G078j6EAxjF8J8FiFpTXZk2c64g1KVSVnbhOE\r\nmeejQx4I7wsLiCAkTzK1jQPkvEg4XiuIq4cMuIDdzPyx/YseRyOxUSgw7JYA\r\ndEepscW4A5BIqxoSR13D6x+d5ZuqtYUuHr76AGsGqgQPWQF7C+i07S+IXhoP\r\n1QtOU1pxKobelBJqshmoTBk26/qPIv8vKU90Zls4npBA/fdOKKQnuN9Yhoxe\r\nuPwkXriYJLz6UJrBaEXZsvWG3jskUAJ4QMYyP4+RYHztL3yeDQH8woQ0yQ+Y\r\njZ6NzQp0zGoZHuUULh1mZDf58w0M+1hQ9Oj+56unPJNgELUWr6czM7xuryU0\r\nUHhQUbxelZpV1vJA5H+OtgK/cQ8EHhig1Yxb1vK2f3lYn7sx6+zBJGcmR12f\r\n7JN+logFvyR8SVp0Y9CIb+cAUnvnytgx4Dlo0tOKmP+xfOqXdlTwEHJ9Sv8L\r\noofixf+b7F3lV+Vosy8hys10xUPcYoRxNlI=\r\n=pc89\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.0-rc3_1650907990919_0.1380345638843492"},"_hasShrinkwrap":false},"2.0.0-rc4":{"name":"serverless-api-gateway-throttling","version":"2.0.0-rc4","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\nIt supports both API Gateway v1 (REST API) and API Gateway v2 (HTTP API).\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## How this plugin works\r\nIt configures endpoints in the gateway to override the settings they inherit from the stage.\r\nIf you need reset all endpoints to inherit their settings from the stage again (as seen [in this issue](https://github.com/DianaIonita/serverless-api-gateway-throttling/issues/16)), you can do this:\r\n```\r\nsls reset-all-endpoint-settings\r\n```\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n\r\n  # Throttling is disabled for this endpoint\r\n  list-more-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /more-items\r\n          method: get\r\n          throttling:\r\n            disabled: true\r\n  \r\n  # Also supports httpApi\r\n  list-http-api-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - httpApi:\r\n          path: /http-api-items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 3000\r\n            maxConcurrentRequests: 1000\r\n```\r\n","readmeFilename":"README.md","gitHead":"83fd4c6cb7c8a42451d45b82a2d05a8cebb1d9d7","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.0-rc4","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-IR9i6fGLh0CvKUodoJnF5v4jm7/3fDfNb83sn/r+jqsTvV9rvB1BeFrAD4F8J2guXbSYiMU7MbNpXcv01kXp1g==","shasum":"a5161e77910481ef6ed5e4fb3a22c7d59555a820","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.0-rc4.tgz","fileCount":12,"unpackedSize":30745,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLcw4dcW9ICU+VeeHxEBSQ+jobSaEoFokkLpczt9ncQAIhAMdF3HSrePq4UbzoVLYMOQoj+q+vG4cX/UNxLoTBvwC3"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinM79ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqpVRAAl06wdVT54TETPLMQG5EtBzNlvz2/iJdwBOntvngmxXcsLI+L\r\neD9iVj9RTljlCiEOfJDmHIGCD/viDENacLea8DOr25fJXZoY1yHd1j2Rxv+y\r\npwyO2252DTISFxmovnbn4ERv/xuTaaV59sHeEr9WIsH4dfTSaJDY65yMa3o5\r\nSO8KP1vUmumwNYM9wQJ8nq4kKIRNpHZQbAbtqAhd8jLTiyAZegJIJBB0A8xp\r\n0fhUMPGGfKgwRemwvuCZNEJo9FAHMUBaYA2eUrBNnHbWj1qmsvOtxbdcR9CO\r\nhRAq4tXa0Uvl49cRZlLr907d988wvyjPiVv4i5pWdNYYOEDmp8WdgKugcLbh\r\nUGA7WjXE4gqnpUArxkJK2CssGmeWU6n0ErgH8n0m0yiYh5JNHc5R5SSpcc1y\r\nBuBWJskkmyCLkXYZaUMel/GO84aKPIkzDMNDCGsa7paV2KveiVPzxgMfw9AK\r\n9d4d/Zn3881w31YH3yYI3WhmRkA5+vfpze8SmsAF6NJulJ1LtcaVEMDA4iCG\r\nOHUsRc6Mo8vrgbj3BEM8f/TC5OilS7aGCsv6Vqz2U30hUIZcWC/x4Mdd8pDT\r\neYaOBp/+9Jh01cbIPYKoHEfNQvZbwNZZHz14+ufAQYpuhxd+B0Ggq8BrzCpk\r\nJ+E7r5iU0c7h0j8rWVRgYwI8aaR/aVTk1ko=\r\n=Iwwi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.0-rc4_1654443773628_0.10331544378465285"},"_hasShrinkwrap":false},"2.0.0":{"name":"serverless-api-gateway-throttling","version":"2.0.0","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"22c8ffbe0dfb589cfac7a44e0e0ad8862cc5c435","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-/Yfl00DTFUjQQyYds/qYU8UHWpE9+c3U6eauuhzEeciN4r11d6oDfWHHUGEaaJBOMKM5QCv4Z94z6Klns3qMKQ==","shasum":"b7b09656e82b7d4e2f9bc113c9c02cf653c97283","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.0.tgz","fileCount":12,"unpackedSize":29839,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGN568tmGnhj+yMKGnRr+qJUyO2tJ4wl/MwioQYO7o4xAiEAu0VO6Q/GGTQwYbGIf8UKGN4gWfmKv9x8NON/JZHedW8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinNQsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPHBAAhjYeoPNDfIjOTG1UFAsvBsd+ajtWIUBm16dzPbMYT9uLR6qi\r\nPIxCttSnxmAnYGDDhDK+d7FJefTO2PPriRexhZzeJ4m3R7fSIYwTNnNEZA3d\r\nZ2wPpR2Pra5TMssyqSfWdr2wFjDF1+Yv0dfYHqJPMmyBIWf+ejw2CypHmiU8\r\nbw6oF0sSx7ufAAbaoSLMAA3aLTIuzQSm9/3rNJ3nR4OnV1Fd3U8nuRf/7w3/\r\nnK4JpmrOVvVxP3zrUSnFK99yxBT7SYcU+J24zbpxrCY/6HCPKpRTQZYn80bR\r\n6CnXN2gApPbgAZi6VEiHepvfeEArWG6AIdtf4IU2BLfvScDYpHtaH19Un2kc\r\nA+mlJMZTaoii+PsjtaThUHd2loio/5GI4fwv4gvR1TkK2RoRVPYoWmILp/Rq\r\nncwxjtluSww7sC9/jjyZo+LOA2aLTYV51uWwb0YzhLBQWafoQVRhrB5V2LuW\r\nk3sJxijs85pnfUjLZ5+AmPm1Yrmam67HWRzOVHFp+mwDwEzwLZUoUx4xStpp\r\ny520qBafG/JDy5Xyw/LBRi0+kFV9Wtr5gpGUfAT5WfHetJIFv5WErDLzRcb5\r\nQC4jewramrERgwY/p1T+nz5udtt3QKHd9+jYbWJnM+e/U4kKXFJgWga1FvNU\r\nlG62am0wPF7wI4cH1sv/XpITvhgzAYIGXX8=\r\n=FzoC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.0_1654445100280_0.12814558476490623"},"_hasShrinkwrap":false},"2.0.1-rc1":{"name":"serverless-api-gateway-throttling","version":"2.0.1-rc1","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\nIt supports both API Gateway v1 (REST API) and API Gateway v2 (HTTP API).\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## How this plugin works\r\nIt configures endpoints in the gateway to override the settings they inherit from the stage.\r\nIf you need reset all endpoints to inherit their settings from the stage again (as seen [in this issue](https://github.com/DianaIonita/serverless-api-gateway-throttling/issues/16)), you can do this:\r\n```\r\nsls reset-all-endpoint-settings\r\n```\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n\r\n  # Throttling is disabled for this endpoint\r\n  list-more-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /more-items\r\n          method: get\r\n          throttling:\r\n            disabled: true\r\n  \r\n  # Also supports httpApi\r\n  list-http-api-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - httpApi:\r\n          path: /http-api-items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 3000\r\n            maxConcurrentRequests: 1000\r\n```\r\n","readmeFilename":"README.md","gitHead":"f3e10ff7652eac5347fdb93d05b96d67acac4762","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.1-rc1","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-+QEhrumcIeCdEbpxQHtiesZcUd6wEtJv4gq71QPnGU5F+UQGuPDhrcQCq3Tnuj7M+7bJNDUvgBoqay6BKywhDA==","shasum":"b5481ba0aa0e41142996c6b0463e6362cac6ed74","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.1-rc1.tgz","fileCount":11,"unpackedSize":30396,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZgRmVMEAdnnVo3cuZU4bZvJ4DA77LJnPX3tb9bojYlwIhAP85w80BZMNJYV2+KcxhZurlmteJFY6Ff4QpiVVKXEs1"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinlcOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpVfw//YfPpIk+ki4OU3r4FGUsUnOKte8Z7A5spQ7XSWhRdbtlNoE6K\r\nhmsB63cYzV7FrpefQirhdQsGPNeQrJSOtsKP/5ligsX78Hwm8295QwKq9wLa\r\nvkC89X1MNuepPpPAudCyFckb/yQlgxck8BZ/HChGHXGFqgfBuv6rZfC4UYMj\r\nQPbbyYysc3nY/kpzFzVATL5OZcxETUBs7fqfMSWna/FreWV3CCtQvZNXeGba\r\nxfYDU0ibxb03EpVqKfzsDlZFQWlgiF1t2muOCMyulXxVaB7pPcXmRSaTAmew\r\nTBVdkVqoLlX58iSgiGWzGJ+F6XQxFW4Mgtjg0gEYrfzfZt12iGbeCC43ZvbY\r\nKlU/wFalyM/xBkv73nWIaAbGJNuNhhqTtfT2tjv30GH05nddClGbWQf7oxgQ\r\n5ceGnNQTqr0XCndr0rS8FN3soc2eY0lrxyaoLDZqeW3gOnCAx6G6Ij6+RKBA\r\nqsKI2vlSm0/KedEeznTtr0rrVIQMt4JjsiL7Bz/zrfH1cbItJBnQ3AblZ+KS\r\nDlMm5AwhdDfgAJWbIxgQp+7Iwt4JmoYPI8NiWE1Q+Edv+DOpwx8A4op5QW4s\r\n4OGhB5Hz7K6fTjUM6pn1A9FxC8q+vnAUhBhsL58NrlWG2bmA/BCV/L4PoAD5\r\nxvz6gGVUXv7wRrX4/mPykwLZ6d3qC+nJpOI=\r\n=vQ0b\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.1-rc1_1654544142240_0.28990009522049154"},"_hasShrinkwrap":false},"2.0.1-rc2":{"name":"serverless-api-gateway-throttling","version":"2.0.1-rc2","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\nIt supports both API Gateway v1 (REST API) and API Gateway v2 (HTTP API).\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## How this plugin works\r\nIt configures endpoints in the gateway to override the settings they inherit from the stage.\r\nIf you need reset all endpoints to inherit their settings from the stage again (as seen [in this issue](https://github.com/DianaIonita/serverless-api-gateway-throttling/issues/16)), you can do this:\r\n```\r\nsls reset-all-endpoint-settings\r\n```\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n\r\n  # Throttling is disabled for this endpoint\r\n  list-more-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /more-items\r\n          method: get\r\n          throttling:\r\n            disabled: true\r\n  \r\n  # Also supports httpApi\r\n  list-http-api-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - httpApi:\r\n          path: /http-api-items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 3000\r\n            maxConcurrentRequests: 1000\r\n```\r\n","readmeFilename":"README.md","gitHead":"f3e10ff7652eac5347fdb93d05b96d67acac4762","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.1-rc2","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-1Mow35CmRhk9m5irxgeVKXnYrQMB1GcvWo+9FHDHTJ0cwNli66g21tUKyyUetmxL9fFBJ+DlUwl85yYXpiZcqQ==","shasum":"518e69b3460979659bf4609f01086ec54341e6e6","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.1-rc2.tgz","fileCount":11,"unpackedSize":30783,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHX4q5OEJaHYJhlKvDjMaVeFGLC69utyZiWNqx58/pFdAiEA7jVW81S1T6NnwhEJRlI8sC2jVMc0NNS8KyxET8QG7DA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinloRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo6bw/7B88yC7xGPlaYdgB5hRpthIe2W+FPMe/fW4Hc6RbLS937f2Pf\r\npFjX/nUQVPicXaeN2UBFUdImKNoGt1ASNtAVCuSqltvdYFYGnlPRXcHWXijB\r\njN38M03U27c5bvgKWnnwyHo48astDb58XqwXETfJi7db2B6KVeb5T5VWFM4o\r\nG4wrdl7Ov6U6V7xFIsBRDGpzO043iApS2aFSuq2OnAlZ1ri9VdqgrrbXIRck\r\nprLQZbIqymGqlyTfFlXlEi0P7AIlnJohqiZP+rL0DPYZBFkWNS9KvGDbgvCx\r\nQv2fqRwjg8wEZsfooEm5zJHX/R8eXMp2eltIsQi65qhV4B93zuyeqJVZDpOm\r\n3Mwyv1H3MpAc96nCVCzh2eX8QFHPstWK1lISjktm+LuwGGZjbhrZj6IZSBsd\r\n+Vu6CDJgYVXXJlxGBKv+KTWnqtXKymn9UfOavJ4zsbuvFNsuRw7+sL9OIJMl\r\n8khIkjr8dxVpXPXDsCUsO9RPaNailVMbb5BMnVeuEuTGU3rqwjik8Qgge3m0\r\n+Bdf5LIEv8Kd4RhdxsSo9xaNyz5OITgXjw096JjoZsxIUYtCU3P/gaSDGRk9\r\nDovAWZ6eNaaAdPm7+VJmjeOHVZS4SyP/kiVFzt7SSBGJnVl7BIxfHiMa/pyf\r\nCv/tCzHOemb5Tj1WewPPU69bKylx9nh8aak=\r\n=Pc1I\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.1-rc2_1654544913137_0.7049783000957333"},"_hasShrinkwrap":false},"2.0.1-rc3":{"name":"serverless-api-gateway-throttling","version":"2.0.1-rc3","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\nIt supports both API Gateway v1 (REST API) and API Gateway v2 (HTTP API).\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## How this plugin works\r\nIt configures endpoints in the gateway to override the settings they inherit from the stage.\r\nIf you need reset all endpoints to inherit their settings from the stage again (as seen [in this issue](https://github.com/DianaIonita/serverless-api-gateway-throttling/issues/16)), you can do this:\r\n```\r\nsls reset-all-endpoint-settings\r\n```\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n\r\n  # Throttling is disabled for this endpoint\r\n  list-more-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /more-items\r\n          method: get\r\n          throttling:\r\n            disabled: true\r\n  \r\n  # Also supports httpApi\r\n  list-http-api-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - httpApi:\r\n          path: /http-api-items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 3000\r\n            maxConcurrentRequests: 1000\r\n```\r\n","readmeFilename":"README.md","gitHead":"f3e10ff7652eac5347fdb93d05b96d67acac4762","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.1-rc3","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-Bz4UVRNJTbhXoGFbwwC+nQ1hq+dWwaw6WVqXLcwfKoFgyz3cU+MNLNKFELA7n42fXAZWBV/YCBBhx+LiNKDCqw==","shasum":"fe06e8024f101ee4611881f4a7a79253fff68029","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.1-rc3.tgz","fileCount":11,"unpackedSize":30805,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNRp76NE+1JhUhb0j+Niiblz0YH1aOntuc0h/G2Wx0TgIhALbKr8uWD0oZPtnW+vZVn8G7YeXzeJZNpLRJHDSTGDUS"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinl1hACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMfQ//Zi4i3/LG58SXOSqhbxWqTsQ7b78K+vwx6NaaFuKOSfmrCFUj\r\nosVCbyXOp/hS29fyjxwHuWvCF2lfLxUK9PmV2yjfz+XEqiDTC0/29QYm6GDk\r\nSfjhx6InPveUpTqNrVX5VPkDopMHA7KSVrUwpk2IMSs3iP9cc5xdYsFROHEn\r\n5rsCdo+gpKMkuCDPnikThQwG9qwCThw6XEhifsk2RK6+6l3GC0ZHvYMGjI+5\r\n0EREMqAq1L8dx8TIiYL68YAkJKxbsf2a351p8CZ1H3NH20MQJl5d3Jm95KYg\r\n5+HodhUXVCPl3kH6IKJeACyokASjT/jS6c5b3Pm5gssah0rYbqUqxsuWB0sh\r\nyBSOQBA4NIDSjyD7cQYw1A+ZhfHm/lWtAV5vUd4hQa7IOESxHT11KdknJfgL\r\nTAI1qhdyLnq3hRgX3iX2dLlTUqPsMHyYADNHAqj6jHfiv65CSS7F2BrhuxUW\r\nXLk/hABPb4OiSIwIVFoYyvSHv5ua/p+1rW1TSw8fDgq2iqaPA0ZWfAf0REb1\r\nOyszdMwGm5GzgwuKf5vfS+eT1nHHCpPjgPwpn04p4tcsA0ii5Wwv7REjePNf\r\nY7tg1qJLtMcKW7gAc20IjqFHOkr8bMDOOzOCLEDXHG/umX+fzJEKJfbLmr3W\r\nuwL/pbrYJDzQgDJ4CA9N2atuNAJs1DB9ax0=\r\n=Y3KQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.1-rc3_1654545760902_0.5542671918047"},"_hasShrinkwrap":false},"2.0.1-rc5":{"name":"serverless-api-gateway-throttling","version":"2.0.1-rc5","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\nIt supports both API Gateway v1 (REST API) and API Gateway v2 (HTTP API).\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## How this plugin works\r\nIt configures endpoints in the gateway to override the settings they inherit from the stage.\r\nIf you need reset all endpoints to inherit their settings from the stage again (as seen [in this issue](https://github.com/DianaIonita/serverless-api-gateway-throttling/issues/16)), you can do this:\r\n```\r\nsls reset-all-endpoint-settings\r\n```\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n\r\n  # Throttling is disabled for this endpoint\r\n  list-more-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /more-items\r\n          method: get\r\n          throttling:\r\n            disabled: true\r\n  \r\n  # Also supports httpApi\r\n  list-http-api-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - httpApi:\r\n          path: /http-api-items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 3000\r\n            maxConcurrentRequests: 1000\r\n```\r\n","readmeFilename":"README.md","gitHead":"f3e10ff7652eac5347fdb93d05b96d67acac4762","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.1-rc5","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-wKTmYYpW8g3l9lIKQ7coBmbA5gwsd5LSxHcLkxagiLVdEN1jekc/Tit9INuwI1bGF31RnNVf5Y/Sz4+fRHSVWw==","shasum":"fe570c1f55d68e5f48ac0ab2a2f0d35713dcb35d","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.1-rc5.tgz","fileCount":11,"unpackedSize":30861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHYc4Iq4//dyixFGiJOeUUUKvzd7K4xFpv+t8woiHM56AiEA0TLD/ni5M6IBGcRzGyviczt6YV7P1uh91O4XeQ0zQE4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinl/HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqh3BAAgcsPBGqiFWHZUYCc4t8fbmip/OFh81I8wznkq0/TFrRuj6T8\r\nPpV6Nfl82qHBKMO6l0FWP7grMMN8Ou+D3yz3atQykd2b1VcjPHSKMlccf7Xb\r\ndnGg5NkOwhFkhvHVSLVPlmMnsKq54aMGuKJOVuSFtiA54yzZoXXUlD51coKG\r\nG9QFYPfBFEA1pniaZ4JXdzIEMB+fLWduU5cXqchfm96auq4DZAfFLzWWaHZ3\r\nwYumH9t5LP2sNTiu8dDpUr+SZt8Ld84YmgGPFuGDy4yKDaDdqQTDrAxsq6kh\r\niFJtutxSej9OcQSOV4uP2CfEjNz6iY0LJpqYSjWOACbhFQgrZ18eOjJFtkFF\r\nTveI6Uv2EVL7ah+OK1kMQZIIf4QCsytDzAdWSUveyCL3pF/LvWgTar+MhX5r\r\nUfTYKNT7/oYZ1PjXm2/cBIdKnxVBx7X4aO+2zsWz8jfLIju8bvfq7vRGlgYN\r\nHkpF7dHXAjLVaS1aLc2AOmo/PHLNqrFmrR6+wUNMGIKAB/A6eZ3kNmVPEUfr\r\nMcv8DVDVEYm/7+Rh7PPFxgwbjL7j/u7b7fsWrTT8uS5Fat1mseVhCGD+OQGT\r\nR677uEQzxHmoSQgWLHeb6evh+3C3Hbj8yPvw+SWJQ9RfFaL3sunNqcPemAp5\r\nQ9DyAvA4JfXH8/egYZBRtGCPZq9WJh9PR1Y=\r\n=GM7d\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.1-rc5_1654546375083_0.4917481073488492"},"_hasShrinkwrap":false},"2.0.1":{"name":"serverless-api-gateway-throttling","version":"2.0.1","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"06811366eed8aface069176c4bcd3b354a42dfe0","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.1","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-4QCUpz+F4JMAmhmV3EnCS621vEEdA+9e5eO7vB7qDJIlG8r35Ijk0uNUYIzaHxBOA5iv/7eZ3hZwwS6GTLdjVw==","shasum":"8b550c89d2a61871942f4bd21e9de3e98ba0f80a","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.1.tgz","fileCount":11,"unpackedSize":29953,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjlDAixvgNLYP6srwVLsDoshNQeKhnHITm8pNm+t8gnwIhAIEmD2l+nmVKbYLU9yZIugjINry9YXGabsHBPbdX3JhJ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinminACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrabxAAi89MtGw8LDhmXoBGhUeVpaqazatmZDt12IPq8WMJtINnEV1T\r\netQGqjAOhCWzZHM3Ih9FyEhCkENZnHpVxi/UU6HcoIHng8HFuRniDNGNx6Co\r\n5Al3uGZfKY0fa6ToR4/fdlgwFeEPWOfgOgoFv8S9ENsnAycFsmh6X1fyxciW\r\nLSjuT1vn5/j0ZScSphX3/KQojem4kbERO6MqF9d42whNtYfv618gZ3X4Bjrc\r\nSfdIvq1GI2q/HI2CEJ1fMDEzVtksCu3ud3jnjW5bvdYLakcLGlb44BDXfKIV\r\nyDkjXv2SLYrtmYLqMK2kNG+QMsojC+djnPE4JncaaTQaC9xPKknfcwZeV3Nv\r\ndPOxbcvdwsq2yIxDCS7Vn4tiaG/MmsEOFJa7iaCWgguN7TN4ZjrnVLGfxL/f\r\nV0GH1Zr7UuShnULlncHJrsx3KDD3zSM/JOlNFKTTyN/AHTx3IY9LrBmHBBaz\r\ns8I0NMVACWn7cCYqY6fKOfIlCkNM6v7+haQuzSLCd36joxXKbTw89tU0Nf6U\r\nTxLHqa/O+NfC1S+7jLqA1qONC0bH14YBAAD9sNu8Oq71YldDbjd3pa34OKk6\r\nU58NX62zsgC63Z19KVQz+rMNlVa+DEK8roIUA2JknD7YkJrJ3LC8JsiJO6+c\r\ncOauGDAG39D2Cd3a3PMZgCdyRzaZa3on15c=\r\n=VZQV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.1_1654548647324_0.8040243330440355"},"_hasShrinkwrap":false},"2.0.2":{"name":"serverless-api-gateway-throttling","version":"2.0.2","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"c0a542935fe8dba627a48a8ef90cecb2923cfbaf","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.2","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-MHSlB9YOrO+3DmHU/93FjPk3koTdN6aOPP8x/YsH2UxjO9quqBBdKYtSFQGb5tu4I2rP6fsVTcln9sqSsND88g==","shasum":"bdb3f9fd19d8914b3f699f12692f138756db6504","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.2.tgz","fileCount":11,"unpackedSize":29983,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDL0OLx2ZirLtXiLV/ophp2CiYImoP+gBumzJ1jAKiwQIhAMTcWhgikWufQj5ch3PPPaHRreskT/E/sg5QRgAhahCN"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7/p/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpdiw//TCff/BBI4S3GX3kwJjDipcFF3DRWnozHpRHQ/N16/TW/2vlE\r\nx9g6ohbIhFOxEEyuW7vI/O8Gk1iktbmwlm1eeYs69y/DJBqeZ0YhDW4QQtDV\r\npcpEUwV4MwFZhgNeW3xIwsiUz/7gL1K4cfwV9ocorVZB+HgJ8FAIoBW32JcP\r\nvWXxY2eh6RvgEsONtGhyAzioh6hBj1Qx+9DTWXlZrFTSJFVp/Y53xOEtYrzr\r\niISdHTuMeky41JVmvDhnWdY88Aeyp9QAs21vPx19jEmZOOBmLPH+sKv1nF/Q\r\ntw5fnFjhx+4O8kcZ3vGy1s0GINvbRQ5B8H644RdrEx/y+3tQXLLfSN2p3yhk\r\n0pv/GPuTUTWVxYoaCRvRi+qUSWnwjQzozG/VS0WkHIjZNiUkkrc5LjTWeP1X\r\nlAkHIvUUJz45QTEpOSpZ55m+8qJwsV/6V/5ZxM0K1WjIU2v0c8hUJsm2iQnp\r\nSgEI2/LMwS+2vTfOPZl+3kH3LbEggj7p7BUMJN360u12zR4+OpgpRTfFasOW\r\nNYazQMviluHm+9z4VUdEd1ykPOS5+lXeSsH2WTHgpitFTmklHgCZL5MQF5pv\r\n08g2g1Pqx+Njov27pC/X+ixIPpAqp0MdOgZsMdMGWL3yYKOYFZKwLHcBeeT8\r\n1xh8H3EaLq3GlOyG6zx2EgTjHfGxx4IhEz0=\r\n=qomD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.2_1659894398978_0.6327429384031082"},"_hasShrinkwrap":false},"2.0.3-rc1":{"name":"serverless-api-gateway-throttling","version":"2.0.3-rc1","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"readme":"# serverless-api-gateway-throttling\r\n\r\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\r\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\r\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\r\n\r\n## Intro\r\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\r\n\r\n## Why?\r\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\r\n\r\nThis plugin makes it easy to configure those limits.\r\nIt supports both API Gateway v1 (REST API) and API Gateway v2 (HTTP API).\r\n\r\n## Good to know\r\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\r\n\r\n## How this plugin works\r\nIt configures endpoints in the gateway to override the settings they inherit from the stage.\r\nIf you need reset all endpoints to inherit their settings from the stage again (as seen [in this issue](https://github.com/DianaIonita/serverless-api-gateway-throttling/issues/16)), you can do this:\r\n```\r\nsls reset-all-endpoint-settings\r\n```\r\n\r\n## Examples\r\n\r\n```yml\r\nplugins:\r\n  - serverless-api-gateway-throttling\r\n\r\ncustom:\r\n  # Configures throttling settings for the API Gateway stage\r\n  # They apply to all http endpoints, unless specifically overridden\r\n  apiGatewayThrottling:\r\n    maxRequestsPerSecond: 1000\r\n    maxConcurrentRequests: 500\r\n\r\nfunctions:\r\n  # Throttling settings are inherited from stage settings\r\n  update-item:\r\n    handler: rest_api/item/post/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item\r\n          method: post\r\n\r\n  # Requests are throttled using this endpoint's throttling configuration\r\n  list-all-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-item:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http: # throttling settings are inherited from stage settings\r\n          path: /item/{itemId}\r\n          method: get\r\n      - http:\r\n          path: /another/item/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 2000\r\n            maxConcurrentRequests: 1000\r\n\r\n  # Requests are throttled for both endpoints\r\n  get-blue-item:\r\n    handler: rest_api/items/blue/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /item/blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 300\r\n            # maxConcurrentRequests are inherited from stage settings\r\n      - http:\r\n          path: /item/dark-blue/{itemId}\r\n          method: get\r\n          throttling:\r\n            # maxRequestsPerSecond are inherited from stage settings\r\n            maxConcurrentRequests: 300\r\n\r\n  # Throttling is disabled for this endpoint\r\n  list-more-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - http:\r\n          path: /more-items\r\n          method: get\r\n          throttling:\r\n            disabled: true\r\n  \r\n  # Also supports httpApi\r\n  list-http-api-items:\r\n    handler: rest_api/items/get/handler.handle\r\n    events:\r\n      - httpApi:\r\n          path: /http-api-items\r\n          method: get\r\n          throttling:\r\n            maxRequestsPerSecond: 3000\r\n            maxConcurrentRequests: 1000\r\n```\r\n","readmeFilename":"README.md","gitHead":"1a0f0fda20b804e6b121b60a5d9b48da2f16f78d","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.3-rc1","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-Kanp2aHzeIkSTL14px0MTsi20oPruhpc+gTS6sjVpJbngffhlLxL+aITZeNb8b/yMDAg7O07iSKHvtn0PwJvLQ==","shasum":"e69055f3b219e5062ad56827b49e9c37d0ae4e70","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.3-rc1.tgz","fileCount":11,"unpackedSize":30983,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxrfR8VOygJyaxTKwpdAyiiuGtDRJTahDygFBf/FAefwIgbS76uyW3TRji/3q4H9KtNJXBwpsdJm9FeMPCb2P3gBA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDizvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqeEg/+NeekdSTtMGpXc0aVxZxaBxD4T3hBd2X1LwcfziuixLNqTmG1\r\nElKiIC92MvbdPRcJivVOl8FXSfG2qIZJ3pU1h22BeKz5tdPoL+Bn8Rm1Gnea\r\nIH0MaXsgxMhi77IOW1QyBHPKHTlb94BLNmeEBfTzUTxDiv+Oqfs81vJ6r982\r\ngen8vbcx+/WslTOugApLk2Vpcd6xBwKOd5o2to8ojExAXipMsy4Ud35Rd5pZ\r\nR/HliDsg5rB4FAh/gGyIFhL6y2RFUajlzjI5lbW6EbK55kSJBGZnM/Pt4UUY\r\noWjyLudRf4CgX6dxWmAD/+5RnHtz9wnWGZlaHEwTfLkh2Rgn0qxbK6jOUELj\r\nLluc8vAU96+DFh5kBwWxLL32yskR30OEG/syCLlTpxK37rNbpygcNZ/dFMbm\r\nKOM/Pp9E0lmmsNQY6aKjCmMKSojABBjFBLXwhMdXzI6kBaSElhF53wHOoCiY\r\ncnxZ4DJK2LkhdTbtaUf50y5pjOWNbJXI4xweQqg/XEHvDlnvFkeLoVaEUK1G\r\n7MifRP081e0OhhGJnkcgfHcaPaAfSFZv/GfQKFg1pyKFNXwcro1N38ipMb9X\r\nw2mH0CNNs6F+ObsJjuCqx9tlbWUxScZjnuo/Pu5VVJjTNAJT9SYqtbFRZ7hF\r\nFLkXNLhnTCvrYoUvTm4Kp+YDRcdDe4BwKR8=\r\n=Wl8o\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.3-rc1_1678650606879_0.4513825020265294"},"_hasShrinkwrap":false},"2.0.3":{"name":"serverless-api-gateway-throttling","version":"2.0.3","description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","main":"src/apiGatewayThrottlingPlugin.js","scripts":{"test":"mocha --recursive 'test/**/*.js' -t 5000"},"keywords":["serverless","aws","api","gateway","rest","request","throttling"],"author":{"name":"Diana Ionita"},"license":"ISC","bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"devDependencies":{"chai":"^4.1.2","chance":"^1.0.16","mocha":"^9.1.3","mocha-circleci-reporter":"0.0.3"},"dependencies":{"lodash.isempty":"^4.4.0","lodash.get":"^4.4.2"},"gitHead":"4ea2eda4564470b87d18d11bb0d737972986651b","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","_id":"serverless-api-gateway-throttling@2.0.3","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Ix7m7Kz0El8z0jETRZMW22frn/cY9R7yHElGj1zriqvAJtwWBZ6Gvinbl2QtxbQVopyOi1dJSzpkraeuGoYErQ==","shasum":"e679c4fe6bd25bf18d273efa90fa3e05a0d553f3","tarball":"https://registry.npmjs.org/serverless-api-gateway-throttling/-/serverless-api-gateway-throttling-2.0.3.tgz","fileCount":11,"unpackedSize":29525,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBq3e7auVplOExq6qt9QDPjNajiM5ialbEuo+r1nVhyYAiBdCpmPe9TiXuAB5wBWKzdfhZdeEJQGbf+8PuaGzKNvoQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkF0u+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPPw//cktOcOy4wXQpx1tTTE+fEXxydTJLjFCNRDnaohxFYBdr5RCZ\r\n8u0UcOzsmor7OtfzkgxgrvojYtF5s/zQyApXo+AmkYn97NV1+laJGq70++Cl\r\nxtHoeXHRGwAiQ43c+Q5muM1D14Z540i0SHqoneUG4YuwJnAncP+PQ0dBKicV\r\nwLTOs4NJfd9RBEel9s/Jcu+bgWi68Zoh8k5kojM4d3xIPpD4h7M5IvA5/eBF\r\nHJ5UyTpj0R8rO5DmlXG5g2wXirZ519go3tO4FYLf2hrH/Cs1+PryVm6toblL\r\nMMK1gPoUqCZIsA3vJR5GnMdmwj9Kwut+K/h+H8fXciA021RoulJtPIh53fy+\r\nsQBpnzRRKp1dTadDQhxQG3jGC8HrEYeaEYWpU96wdZEp3RBK5lQ2xXxRlVuJ\r\ncNnhYg+Z3jq80cA57K+6J8YOjldMchXuWuVRedQMkdtG2Zes13FWIWKIVuCE\r\n5YfFcCNNsXbux368JL29pbAZ+LBeBk2AzSQNKSHi/obwRsg37PcX7bbdhf/R\r\n96Yx5liFK0G1hzRhQOryXmAlEYkEEf1ME59ZO6BN6e/wI5HAdf+d98pgwnw6\r\nxWTeMOlegpoyNYwaE8o/XsUl+J54u8G23Q8BuIPEJ0QnTiNIC7eksXVY2tcY\r\nnVQ5xj98MPkSFlLSN2YdGQC5NjWb8rvwib0=\r\n=Pt4v\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"diana.ionita","email":"dia0369@gmail.com"},"directories":{},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serverless-api-gateway-throttling_2.0.3_1679248318264_0.7150072760964843"},"_hasShrinkwrap":false}},"maintainers":[{"name":"diana.ionita","email":"dia0369@gmail.com"}],"description":"A plugin for the Serverless framework which configures throttling for API Gateway endpoints.","homepage":"https://github.com/DianaIonita/serverless-api-gateway-throttling#readme","keywords":["serverless","aws","api","gateway","rest","request","throttling"],"repository":{"type":"git","url":"git+https://github.com/DianaIonita/serverless-api-gateway-throttling.git"},"author":{"name":"Diana Ionita"},"bugs":{"url":"https://github.com/DianaIonita/serverless-api-gateway-throttling/issues"},"license":"ISC","readme":"# serverless-api-gateway-throttling\n\n[![CircleCI](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling.svg?style=svg)](https://circleci.com/gh/DianaIonita/serverless-api-gateway-throttling)\n![npm](https://img.shields.io/npm/v/serverless-api-gateway-throttling.svg)\n[![npm downloads](https://img.shields.io/npm/dt/serverless-api-gateway-throttling.svg?style=svg)](https://www.npmjs.com/package/serverless-api-gateway-throttling)\n\n## Intro\nA plugin for the Serverless framework which configures throttling for API Gateway endpoints.\n\n## Why?\nWhen you deploy an API to API Gateway, throttling is enabled by default. However, the default method limits – 10,000 requests/second with a burst of 5000 concurrent requests – match your account level limits. As a result, ALL your APIs in the entire region share a rate limit that can be exhausted by a single method. Read more about that [here](https://theburningmonk.com/2019/10/the-api-gateway-security-flaw-you-need-to-pay-attention-to/).\n\nThis plugin makes it easy to configure those limits.\nIt supports both API Gateway v1 (REST API) and API Gateway v2 (HTTP API).\n\n## Good to know\n- if custom throttling settings are defined for an endpoint with HTTP method `ANY`, the settings will be applied to all methods: `GET`, `DELETE`, `HEAD`, `OPTIONS`, `PATCH`, `POST` and `PUT`.\n\n## How this plugin works\nIt configures endpoints in the gateway to override the settings they inherit from the stage.\nIf you need reset all endpoints to inherit their settings from the stage again (as seen [in this issue](https://github.com/DianaIonita/serverless-api-gateway-throttling/issues/16)), you can do this:\n```\nsls reset-all-endpoint-settings\n```\n\n## Examples\n\n```yml\nplugins:\n  - serverless-api-gateway-throttling\n\ncustom:\n  # Configures throttling settings for the API Gateway stage\n  # They apply to all http endpoints, unless specifically overridden\n  apiGatewayThrottling:\n    maxRequestsPerSecond: 1000\n    maxConcurrentRequests: 500\n\nfunctions:\n  # Throttling settings are inherited from stage settings\n  update-item:\n    handler: rest_api/item/post/handler.handle\n    events:\n      - http:\n          path: /item\n          method: post\n\n  # Requests are throttled using this endpoint's throttling configuration\n  list-all-items:\n    handler: rest_api/items/get/handler.handle\n    events:\n      - http:\n          path: /items\n          method: get\n          throttling:\n            maxRequestsPerSecond: 2000\n            maxConcurrentRequests: 1000\n\n  # Requests are throttled for both endpoints\n  get-item:\n    handler: rest_api/items/get/handler.handle\n    events:\n      - http: # throttling settings are inherited from stage settings\n          path: /item/{itemId}\n          method: get\n      - http:\n          path: /another/item/{itemId}\n          method: get\n          throttling:\n            maxRequestsPerSecond: 2000\n            maxConcurrentRequests: 1000\n\n  # Requests are throttled for both endpoints\n  get-blue-item:\n    handler: rest_api/items/blue/get/handler.handle\n    events:\n      - http:\n          path: /item/blue/{itemId}\n          method: get\n          throttling:\n            maxRequestsPerSecond: 300\n            # maxConcurrentRequests are inherited from stage settings\n      - http:\n          path: /item/dark-blue/{itemId}\n          method: get\n          throttling:\n            # maxRequestsPerSecond are inherited from stage settings\n            maxConcurrentRequests: 300\n\n  # Throttling is disabled for this endpoint\n  list-more-items:\n    handler: rest_api/items/get/handler.handle\n    events:\n      - http:\n          path: /more-items\n          method: get\n          throttling:\n            disabled: true\n  \n  # Also supports httpApi\n  list-http-api-items:\n    handler: rest_api/items/get/handler.handle\n    events:\n      - httpApi:\n          path: /http-api-items\n          method: get\n          throttling:\n            maxRequestsPerSecond: 3000\n            maxConcurrentRequests: 1000\n```\n","readmeFilename":"README.md"}