CINXE.COM

<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="https://static-production.npmjs.com/styles.3c3ef91f073352bb91e7.css" /> <title data-react-helmet="true">keywords:rate-limit - npm search</title> <meta data-react-helmet="true" http-equiv="cleartype" content="on"/><meta data-react-helmet="true" name="apple-mobile-web-app-capable" content="yes"/><meta data-react-helmet="true" name="mobile-web-app-capable" content="yes"/><meta data-react-helmet="true" name="viewport" content="width=device-width,minimum-scale=1.0,initial-scale=1,user-scalable=yes"/><meta data-react-helmet="true" property="og:image" content="https://static-production.npmjs.com/338e4905a2684ca96e08c7780fc68412.png"/><meta data-react-helmet="true" name="msapplication-TileColor" content="#cb3837"/><meta data-react-helmet="true" name="msapplication-TileImage" content="https://static-production.npmjs.com/7a7ffabbd910fc60161bc04f2cee4160.png"/><meta data-react-helmet="true" name="msapplication-config" content="https://static-production.npmjs.com/668aac888e52ae13cac9cfd71fabd31f.xml"/><meta data-react-helmet="true" name="theme-color" content="#cb3837"/> <link data-react-helmet="true" href="https://static-production.npmjs.com/osd.xml" rel="search" title="npm package search" type="application/opensearchdescription+xml"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="120x120" href="https://static-production.npmjs.com/58a19602036db1daee0d7863c94673a4.png"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="144x144" href="https://static-production.npmjs.com/7a7ffabbd910fc60161bc04f2cee4160.png"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="152x152" href="https://static-production.npmjs.com/34110fd7686e2c90a487ca98e7336e99.png"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="180x180" href="https://static-production.npmjs.com/3dc95981de4241b35cd55fe126ab6b2c.png"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/b0f1a8318363185cc2ea6a40ac23eeb2.png" sizes="32x32"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/1996fcfdf7ca81ea795f67f093d7f449.png" sizes="230x230"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/f1786e9b7cba9753ca7b9c40e8b98f67.png" sizes="96x96"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/5f6e93af5bf0f5dcdd1eecdac99f51ee.png" sizes="192x192"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/c426a1116301d1fd178c51522484127a.png" sizes="228x228"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/da3ab40fb0861d15c83854c29f5f2962.png" sizes="16x16"/> </head> <body> <div id="app"><div class="_452c3ec4 d68c66a8"><div class="cf325dbd list ma0 pa0 tr z-999"><div class="c746cc21 list ma0 pa0 tr z-999"></div></div><div class="flex flex-column vh-100"><header class="_755f5b0f bg-white z-2 bb b--black-20"><div></div><div class="e7070742 pv3-ns ph1-ns bg-white"><div id="header" class="bbefbfcc">skip to:<a aria-label="skip to content" class="d6d0dbcf" href="#main">content</a><a aria-label="skip to package search" class="d6d0dbcf" href="#search">package search</a><a aria-label="skip to sign in" class="d6d0dbcf" href="#signin">sign in</a></div><div class="ef7c6e62 center mw9 border-box ph4-ns ph3 flex items-center"><span class="_0edb515f pr3 dn dib-ns link lh-title dim b--white-30">❤</span><nav class="_4a5f2a79 db w-100 w-auto-ns truncate" aria-label="Product Navigation"><ul id="main-menu" class="list pl0" role="menu" aria-label="Nav Menu"><li role="none" class="dib"><a href="/products/pro" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-pro-link">Pro</a></li><li role="none"><a href="/products/teams" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-teams-link">Teams</a></li><li role="none" class="dib"><a href="/products" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-pricing-link">Pricing</a></li><li role="none" class="dib"><a href="https://docs.npmjs.com" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-docs-link">Documentation</a></li></ul></nav></div></div><div class="_4ea0e50d bt b--black-10"><div class="c5b9953b center mw9 flex flex-wrap ph4-ns border-box"><span class="_657f443d">npm</span><div class="af43375d mt3 db mr4-ns pb3 pb0-ns flex-auto 2-ns ph3 ph0-ns"><a href="/" aria-label="Npm"><svg viewBox="0 0 780 250" aria-hidden="true"><path fill="#231F20" d="M240,250h100v-50h100V0H240V250z M340,50h50v100h-50V50z M480,0v200h100V50h50v150h50V50h50v150h50V0H480z M0,200h100V50h50v150h50V0H0V200z" stroke-width="5" stroke="#f7f7f7"></path></svg></a></div><div id="search" class="_581ebd89 relative flex-auto w-100 w-50-ns pv2-ns order-1-ns order-2"><form id="search" method="GET" action="/search" class="_13c93d41 relative flex bg-transparent ph3 ph2 pv2 ph0-ns pv0-ns bt b--black-10 bn-ns"><div class="e82b10fd relative dde91b96"><div class="_2f299eeb nowrap flex"><span class="_705cdf4f db fl pl3 pr1"><svg width="15px" height="15px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" aria-hidden="true"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g stroke="#777777" stroke-width="1.3"><g><path d="M13.4044,7.0274 C13.4044,10.5494 10.5494,13.4044 7.0274,13.4044 C3.5054,13.4044 0.6504,10.5494 0.6504,7.0274 C0.6504,3.5054 3.5054,0.6504 7.0274,0.6504 C10.5494,0.6504 13.4044,3.5054 13.4044,7.0274 Z"></path><path d="M11.4913,11.4913 L17.8683,17.8683"></path></g></g></g></svg></span><input type="search" role="combobox" name="q" hotkeys="[object Object]" placeholder="Search packages" aria-label="Search packages" aria-controls="typeahead-list-25987" aria-expanded="false" aria-activedescendant="" inputref="[object Object]" autoComplete="off" class="_390acbc5 f5 fw3 black relative" value="keywords:rate-limit" element="input"/></div><div aria-live="polite" aria-atomic="true" class="_6f20b8d1"></div></div><button type="submit" class="_0da775bb bn pv2 ph4 f6 white pointer bn pv2 ph4 f6 white pointer" aria-label="Search">Search</button><input type="hidden" name="csrftoken" value="2O9UzjTuwoonVkVHzjR4c7opdTPWs1WsNWSVEhteom9"/></form></div><div class="_6f31c82b ml3 mt2 mt0-ns pv2-ns flex-auto tr nowrap relative pointer fw6 order-1 order-2-ns"><div class="_1066d9e7 flex items-center self-center pl3"><a href="/signup" id="signup" class="_9752c8b3 pa2 lh-copy br2 f6 no-underline fw5 black dim ph3 mr3">Sign Up</a><a href="/login" id="signin" class="_352269a0 pa1 lh-copy br2 f6 no-underline fw5 black dim">Sign In</a></div></div></div></div></header><main id="main"> <div class="f8d609dd w-100 mw9 ph2 ph4-m ph6-l bg-white center"><div><h1 class="_9457be11">Search results</h1><div class="Box-sc-1gh2r6s-0 mIUP"><div class="Box-sc-1gh2r6s-0 jrkKVX"><div><h2 class="_0007f802 ml2 ml0-ns pt2 fl f4 fw6 black">194<!-- --> <!-- -->packages<!-- --> found</h2></div><details class="Details-sc-1qhvasm-0 Dropdown__StyledDetails-sc-18slzvc-0 kutxPL jTaFYW"><summary aria-haspopup="true" class="ButtonBase-sc-107cqdy-0 Button-sc-1uybz61-0 fJBsqQ bCTuZN f508ffaa f5"><span class="_703b319c f5"><span class="_5c65d879">Sort by: </span><span>Default</span></span><div class="Dropdown__DropdownCaret-sc-18slzvc-1 kFSlxx"></div></summary><ul class="Dropdown__DropdownMenu-sc-18slzvc-2 kwXNce _0ab9aba3 f5 bg-white" direction="sw"><li class="Dropdown__DropdownItem-sc-18slzvc-3 bALMhQ"><div class="_3017c706"><span class="_3c6efd30"><svg aria-hidden="true" focusable="false" class="octicon octicon-check" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:middle;overflow:visible"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg></span><span>Default</span></div></li><li class="Dropdown__DropdownItem-sc-18slzvc-3 bALMhQ"><div class="_3017c706"><span class="_3c6efd30"></span><span>Most downloaded this week</span></div></li><li class="Dropdown__DropdownItem-sc-18slzvc-3 bALMhQ"><div class="_3017c706"><span class="_3c6efd30"></span><span>Most downloaded this month</span></div></li><li class="Dropdown__DropdownItem-sc-18slzvc-3 bALMhQ"><div class="_3017c706"><span class="_3c6efd30"></span><span>Most dependents</span></div></li><li class="Dropdown__DropdownItem-sc-18slzvc-3 bALMhQ"><div class="_3017c706"><span class="_3c6efd30"></span><span>Recently published</span></div></li></ul></details></div></div></div><div><div><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/throttleit"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">throttleit</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Throttle a function to limit its execution rate</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:throttle" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">throttle</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limit</a></li><li><a href="/search?q=keywords:limited" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limited</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ratelimit</a></li><li><a href="/search?q=keywords:throttling" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">throttling</a></li><li><a href="/search?q=keywords:optimization" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">optimization</a></li><li><a href="/search?q=keywords:performance" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">performance</a></li><li><a href="/search?q=keywords:function" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">function</a></li><li><a href="/search?q=keywords:execution" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">execution</a></li><li><a href="/search?q=keywords:interval" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">interval</a></li><li><a href="/search?q=keywords:batch" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">batch</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9kMzZhOTIyMzdjNzVjNTMzN2MxN2I2MGQ5MDY4NmJmOT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.dDYAebLlFqNIyhWaiaemdRfFkjWlTwsEzFKHfFrqshM" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~sindresorhus" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher sindresorhus">sindresorhus</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->2.1.0<!-- --> • <!-- -->8 months ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->128<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->2.1.0<!-- -->, <!-- -->8 months ago<!-- -->128<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">27,929,762</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/express-rate-limit"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">express-rate-limit</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:express-rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express-rate-limit</a></li><li><a href="/search?q=keywords:express" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limit</a></li><li><a href="/search?q=keywords:ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ratelimit</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:middleware" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">middleware</a></li><li><a href="/search?q=keywords:ip" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ip</a></li><li><a href="/search?q=keywords:auth" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">auth</a></li><li><a href="/search?q=keywords:authorization" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">authorization</a></li><li><a href="/search?q=keywords:security" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">security</a></li><li><a href="/search?q=keywords:brute" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">brute</a></li><li><a href="/search?q=keywords:force" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">force</a></li><li><a href="/search?q=keywords:bruteforce" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">bruteforce</a></li><li><a href="/package/express-rate-limit#keywords" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">View more</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85ZWEyY2I4Yjg5YWJiNzE2NzhlODQ3YTVhODg5NDllZD9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.uLA4vTs9ZITsVUdnWmN-TKxeueC4OotWJN8F90Hy038" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~nfriedly" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher nfriedly">nfriedly</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->7.5.0<!-- --> • <!-- -->2 months ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->1,133<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->7.5.0<!-- -->, <!-- -->2 months ago<!-- -->1133<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">6,240,333</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/@nestjs/throttler"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">@nestjs/throttler</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">A Rate-Limiting module for NestJS to work on Express, Fastify, Websockets, Socket.IO, and GraphQL, all rolled up into a simple package.</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:nestjs" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">nestjs</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:throttle" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">throttle</a></li><li><a href="/search?q=keywords:express" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express</a></li><li><a href="/search?q=keywords:fastify" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">fastify</a></li><li><a href="/search?q=keywords:ws" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ws</a></li><li><a href="/search?q=keywords:gql" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">gql</a></li><li><a href="/search?q=keywords:nest" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">nest</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9lZDI1OTU4NzA0MWM1YWI3OWYyNGNiMWUzNDFmMGEzNz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.sv9I0N_4V_VS5nhzPeQZACobyGI2_NHgWOA4uC2RNpg" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~nestjscore" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher nestjscore">nestjscore</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->6.4.0<!-- --> • <!-- -->a month ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->128<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->6.4.0<!-- -->, <!-- -->a month ago<!-- -->128<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">1,815,218</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/koa2-ratelimit"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">koa2-ratelimit</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">IP rate-limiting middleware for Koajs 2. Use to limit repeated requests to APIs and/or endpoints such as password reset.</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:koa2-ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">koa2-ratelimit</a></li><li><a href="/search?q=keywords:koa2-rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">koa2-rate-limit</a></li><li><a href="/search?q=keywords:koa-rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">koa-rate-limit</a></li><li><a href="/search?q=keywords:koa-ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">koa-ratelimit</a></li><li><a href="/search?q=keywords:koa2-brute-force" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">koa2-brute-force</a></li><li><a href="/search?q=keywords:koa-brute-force" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">koa-brute-force</a></li><li><a href="/search?q=keywords:koa2-bruteforce" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">koa2-bruteforce</a></li><li><a href="/search?q=keywords:koa-bruteforce" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">koa-bruteforce</a></li><li><a href="/search?q=keywords:koa2" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">koa2</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limit</a></li><li><a href="/search?q=keywords:sequelize" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">sequelize</a></li><li><a href="/search?q=keywords:mongodb" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">mongodb</a></li><li><a href="/search?q=keywords:ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ratelimit</a></li><li><a href="/package/koa2-ratelimit#keywords" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">View more</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8wZDMyYWEyY2RhNDgxMGM5YzQzODRiM2MwMjE3NGVhNz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.uLpDe692MFF14IF-4TorQPPvCVpV4DTXeTjuJyuv2qY" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~ysocorp" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher ysocorp">ysocorp</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->1.1.3<!-- --> • <!-- -->2 years ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->87<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->1.1.3<!-- -->, <!-- -->2 years ago<!-- -->87<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">698,382</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/nuxt-security"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">nuxt-security</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">🛡️ Security Module for Nuxt based on HTTP Headers and Middleware</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:nuxt" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">nuxt</a></li><li><a href="/search?q=keywords:vue" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">vue</a></li><li><a href="/search?q=keywords:security" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">security</a></li><li><a href="/search?q=keywords:owasp" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">owasp</a></li><li><a href="/search?q=keywords:helmet" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">helmet</a></li><li><a href="/search?q=keywords:basic-auth" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">basic-auth</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:xss" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">xss</a></li><li><a href="/search?q=keywords:cors" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">cors</a></li><li><a href="/search?q=keywords:request-size-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">request-size-limit</a></li><li><a href="/search?q=keywords:allowed-http-methods" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">allowed-http-methods</a></li><li><a href="/search?q=keywords:csrf" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">csrf</a></li><li><a href="/search?q=keywords:content-security-policy" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">content-security-policy</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9iZDI1N2YzM2ZlZjFlMDg4MzZiOWVhZDRjNTZiYmNlNT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.l5Trl724HrqzLfkSNY5VJpKwu-0RZlBf_JOhF_KuknY" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~vejja" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher vejja">vejja</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->2.1.5<!-- --> • <!-- -->3 months ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->10<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->2.1.5<!-- -->, <!-- -->3 months ago<!-- -->10<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">225,291</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/@nest-lab/throttler-storage-redis"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">@nest-lab/throttler-storage-redis</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Redis storage provider for the @nestjs/throttler package</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:nestjs" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">nestjs</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:throttle" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">throttle</a></li><li><a href="/search?q=keywords:express" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express</a></li><li><a href="/search?q=keywords:fastify" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">fastify</a></li><li><a href="/search?q=keywords:redis" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">redis</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8yYmVlZWExZDcyNmU5YzNmYWIzYTkxOTUzODk1MDM5Yj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.r1UQS69tjNFGxcMFJa_NUlwqT7HuKO1fTCYk6GRruUc" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~jmcdo29" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher jmcdo29">jmcdo29</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->1.1.0<!-- --> • <!-- -->a month ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->1<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->1.1.0<!-- -->, <!-- -->a month ago<!-- -->1<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">160,007</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/stopcock"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">stopcock</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Limit the execution rate of a function using the token bucket algorithm</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:&quot;token bucket&quot;" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">token bucket</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:function" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">function</a></li><li><a href="/search?q=keywords:throttle" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">throttle</a></li><li><a href="/search?q=keywords:promise" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">promise</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mNmYxOWExNDc2OTRiMjRmYzBmMjgyNTEyMDAyODE0NT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.zSbpCEKLEHL53VKkcfjyNWyssTAhq6AbaXIYVFH-m8M" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~lpinca" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher lpinca">lpinca</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->1.1.0<!-- --> • <!-- -->6 years ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->16<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->1.1.0<!-- -->, <!-- -->6 years ago<!-- -->16<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">199,114</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/graphql-rate-limit-directive"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">graphql-rate-limit-directive</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Fixed window rate-limiting directive for GraphQL. Use to limit repeated requests to queries and mutations.</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:graphql" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">graphql</a></li><li><a href="/search?q=keywords:graphql-js" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">graphql-js</a></li><li><a href="/search?q=keywords:directive" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">directive</a></li><li><a href="/search?q=keywords:middleware" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">middleware</a></li><li><a href="/search?q=keywords:schema" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">schema</a></li><li><a href="/search?q=keywords:resolvers" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">resolvers</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limit</a></li><li><a href="/search?q=keywords:ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ratelimit</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:graphql-rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">graphql-rate-limit</a></li><li><a href="/search?q=keywords:cost" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">cost</a></li><li><a href="/search?q=keywords:security" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">security</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hZDA1OTNhZjVlOTExM2IxMTEzMzZkYjQzMjEzNjQyOT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.m-B8P8xsuxdlY28kbnMmIU2NOpiZEzJGUaeT_GbF1uc" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~ravangen" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher ravangen">ravangen</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->2.0.6<!-- --> • <!-- -->3 months ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->4<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->2.0.6<!-- -->, <!-- -->3 months ago<!-- -->4<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">118,679</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/express-slow-down"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">express-slow-down</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Basic IP rate-limiting middleware for Express that slows down responses rather than blocking the user.</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:express-rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express-rate-limit</a></li><li><a href="/search?q=keywords:express" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limit</a></li><li><a href="/search?q=keywords:ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ratelimit</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:middleware" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">middleware</a></li><li><a href="/search?q=keywords:ip" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ip</a></li><li><a href="/search?q=keywords:auth" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">auth</a></li><li><a href="/search?q=keywords:authorization" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">authorization</a></li><li><a href="/search?q=keywords:security" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">security</a></li><li><a href="/search?q=keywords:brute" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">brute</a></li><li><a href="/search?q=keywords:force" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">force</a></li><li><a href="/search?q=keywords:bruteforce" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">bruteforce</a></li><li><a href="/package/express-slow-down#keywords" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">View more</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85ZWEyY2I4Yjg5YWJiNzE2NzhlODQ3YTVhODg5NDllZD9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.uLA4vTs9ZITsVUdnWmN-TKxeueC4OotWJN8F90Hy038" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~nfriedly" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher nfriedly">nfriedly</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->2.0.3<!-- --> • <!-- -->10 months ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->51<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->2.0.3<!-- -->, <!-- -->10 months ago<!-- -->51<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">112,134</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/leaky-bucket-queue"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">leaky-bucket-queue</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">An implementation of burstable throtling algorithm on top of rxjs</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:leaky" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">leaky</a></li><li><a href="/search?q=keywords:bucket" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">bucket</a></li><li><a href="/search?q=keywords:&quot;leaky bucket&quot;" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">leaky bucket</a></li><li><a href="/search?q=keywords:leaky-bucket" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">leaky-bucket</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:rate-control" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-control</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:throtle" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">throtle</a></li><li><a href="/search?q=keywords:throtling" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">throtling</a></li><li><a href="/search?q=keywords:queue" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">queue</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hMjU2MzJiNjYzYWUyZmU2NTYyYjZiODMzYzYyNzRhNj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.nrwkudzgmuB5FEQ2it8hZFUqfREY1u_oh4LaOlcOyYo" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~seanplwong" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher seanplwong">seanplwong</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->0.0.2<!-- --> • <!-- -->5 years ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->1<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->0.0.2<!-- -->, <!-- -->5 years ago<!-- -->1<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">76,777</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/rate-limit-mongo"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">rate-limit-mongo</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Provides a Mongo store for the express-rate-limit middleware.</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:express-rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express-rate-limit</a></li><li><a href="/search?q=keywords:express" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limit</a></li><li><a href="/search?q=keywords:ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ratelimit</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:security" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">security</a></li><li><a href="/search?q=keywords:brute" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">brute</a></li><li><a href="/search?q=keywords:force" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">force</a></li><li><a href="/search?q=keywords:bruteforce" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">bruteforce</a></li><li><a href="/search?q=keywords:brute-force" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">brute-force</a></li><li><a href="/search?q=keywords:attack" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">attack</a></li><li><a href="/search?q=keywords:mongo" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">mongo</a></li><li><a href="/search?q=keywords:mongodb" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">mongodb</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80NmJmNzIyMjQzOTFjNTdjMjc0ZmVkYThhMWNjZDMwMT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.KDsUlzpRWXpvyE5zdz3S1oyOU1IdAhdFeGvYdEuPIkQ" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~okv" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher okv">okv</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->2.3.2<!-- --> • <!-- -->3 years ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->15<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->2.3.2<!-- -->, <!-- -->3 years ago<!-- -->15<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">48,196</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/hardened-fetch"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">hardened-fetch</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Hardened Fetch is a tiny wrapper for `global.fetch` adding request timeouts, request throttling, retries with backoff and rate limit support, pagination, and descriptive errors.</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:fetch" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">fetch</a></li><li><a href="/search?q=keywords:request" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">request</a></li><li><a href="/search?q=keywords:retry" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">retry</a></li><li><a href="/search?q=keywords:backoff" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">backoff</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:concurrency" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">concurrency</a></li><li><a href="/search?q=keywords:throttle" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">throttle</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85YjZiNzFiOWQxMTVhNTE2NjQwMzNmMWQxZjVjYzM2Nz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.kM1BIndYdLbWvm3_M_N-StfH1pOh7HTPmydHWFxogy4" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~i-like-robots" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher i-like-robots">i-like-robots</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->1.2.3<!-- --> • <!-- -->a year ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->2<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->1.2.3<!-- -->, <!-- -->a year ago<!-- -->2<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">23,016</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/elysia-rate-limit"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">elysia-rate-limit</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Rate-limiter for Elysia.js</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:elysia" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">elysia</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limit</a></li><li><a href="/search?q=keywords:ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ratelimit</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8yM2I3MjY1Nzk1NTk1OWIzMGJjYmQ4ZDRiMTlmZmQ1Mz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.nsoXux7DM7sz4IBzMAIuYM9NuB9Unym1Zhup_gJBYQg" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~rayriffy" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher rayriffy">rayriffy</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->4.1.0<!-- --> • <!-- -->9 months ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->3<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->4.1.0<!-- -->, <!-- -->9 months ago<!-- -->3<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">12,415</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/rate-limit-memcached"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">rate-limit-memcached</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">A memcached store for the express-rate-limit middleware.</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:express" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express</a></li><li><a href="/search?q=keywords:api" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">api</a></li><li><a href="/search?q=keywords:memcached" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">memcached</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85N2ExZGMxZjVmY2Y0ODE2NWY0OTFlOTBlNWIyZWUxYT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.WHSffy1DglwSSzo3xygH8v-IoZnDMoDYj-H5KxYyq9w" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~gamemaker1" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher gamemaker1">gamemaker1</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->1.0.1<!-- --> • <!-- -->a year ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->5<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->1.0.1<!-- -->, <!-- -->a year ago<!-- -->5<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">13,146</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/freebind"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">freebind</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">bind sockets to random IP addresses from specified prefixes</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:anyip" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">anyip</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:socket" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">socket</a></li><li><a href="/search?q=keywords:ipv6" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ipv6</a></li><li><a href="/search?q=keywords:ratelimiting" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ratelimiting</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci81OGZhYWU5ZTZkZGY4ZjEwOGYzMTZiZDY4YjIwMjQ4Zj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.f-uSp5zQ1d0p2_hMT-8BDc1RnWAaNalcLurb9GssMN0" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~dumbmoron" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher dumbmoron">dumbmoron</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->0.2.2<!-- --> • <!-- -->9 months ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->0<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->AGPL-3.0</span><span class="_657f443d">published version <!-- -->0.2.2<!-- -->, <!-- -->9 months ago<!-- -->0<!-- --> dependents <!-- -->licensed under $<!-- -->AGPL-3.0</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">7,587</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/lambda-rate-limiter"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">lambda-rate-limiter</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Simple in-memory rate-limit for Node.</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ratelimit</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limit</a></li><li><a href="/search?q=keywords:attack" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">attack</a></li><li><a href="/search?q=keywords:flood" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">flood</a></li><li><a href="/search?q=keywords:security" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">security</a></li><li><a href="/search?q=keywords:dos" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">dos</a></li><li><a href="/search?q=keywords:ddos" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ddos</a></li><li><a href="/search?q=keywords:lambda" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">lambda</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hMWMyY2E1YjZkMGVhYzY0Mjk0ZjUxMjFjMzc1ZjZiZj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.xv7QUzZLmB_h7DK49zAb5roEBHLkatynqacRl8C0PrY" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~simlu" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher simlu">simlu</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->4.0.2<!-- --> • <!-- -->a month ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->7<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->4.0.2<!-- -->, <!-- -->a month ago<!-- -->7<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">7,946</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/hapi-rate-limitor"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">hapi-rate-limitor</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Rate limiting for hapi/hapi.js to prevent brute-force attacks</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:&quot;brute force&quot;" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">brute force</a></li><li><a href="/search?q=keywords:&quot;brute force protection&quot;" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">brute force protection</a></li><li><a href="/search?q=keywords:bruteforce" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">bruteforce</a></li><li><a href="/search?q=keywords:hapi" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">hapi</a></li><li><a href="/search?q=keywords:hapi.js" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">hapi.js</a></li><li><a href="/search?q=keywords:hapijs" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">hapijs</a></li><li><a href="/search?q=keywords:limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limit</a></li><li><a href="/search?q=keywords:plugin" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">plugin</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:&quot;rate limit&quot;" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate limit</a></li><li><a href="/search?q=keywords:&quot;rate limiter&quot;" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate limiter</a></li><li><a href="/search?q=keywords:&quot;rate limiting&quot;" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate limiting</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mMjdkOWVjZTM3MWI3NjhiZTRlOGRmODc4MWIyNzliZD9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.Afynk7IX0vfxz9cqy_-tHVEtRdcgIEjj2q9ciXFrVss" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~marcuspoehls" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher marcuspoehls">marcuspoehls</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->4.0.0<!-- --> • <!-- -->a year ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->3<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->4.0.0<!-- -->, <!-- -->a year ago<!-- -->3<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">5,625</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/@acpr/rate-limit-postgresql"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">@acpr/rate-limit-postgresql</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">A PostgreSQL store for the `express-rate-limit` middleware</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:express-rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express-rate-limit</a></li><li><a href="/search?q=keywords:express-rate-limit-postgresql" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express-rate-limit-postgresql</a></li><li><a href="/search?q=keywords:express-rate-limit-postgres" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express-rate-limit-postgres</a></li><li><a href="/search?q=keywords:express" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">express</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limit</a></li><li><a href="/search?q=keywords:ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ratelimit</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:middleware" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">middleware</a></li><li><a href="/search?q=keywords:ip" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ip</a></li><li><a href="/search?q=keywords:auth" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">auth</a></li><li><a href="/search?q=keywords:authorization" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">authorization</a></li><li><a href="/search?q=keywords:security" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">security</a></li><li><a href="/search?q=keywords:brute" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">brute</a></li><li><a href="/package/@acpr/rate-limit-postgresql#keywords" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">View more</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80M2U3ZjBlOWNhZTI4MzI0ZDFhMDEwYTgyNGFmMGJiNj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.rCmoMbbQqbnHo0wG9zPeFMrWz0ZiEYCh-g6ErlRJ-Fk" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~acpr" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher acpr">acpr</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->1.4.1<!-- --> • <!-- -->a year ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->0<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->1.4.1<!-- -->, <!-- -->a year ago<!-- -->0<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">4,713</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/fast-ratelimit"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">fast-ratelimit</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Fast and efficient in-memory rate-limit for Node, used to alleviate severe DOS attacks.</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:ratelimit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ratelimit</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:rate" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate</a></li><li><a href="/search?q=keywords:limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">limit</a></li><li><a href="/search?q=keywords:attack" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">attack</a></li><li><a href="/search?q=keywords:flood" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">flood</a></li><li><a href="/search?q=keywords:security" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">security</a></li><li><a href="/search?q=keywords:dos" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">dos</a></li><li><a href="/search?q=keywords:ddos" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">ddos</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9iNGNiODMwMmVlMzdmOTg1Y2M3NjE5MGFhYWUxYjQwYj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0._nXTFlqAnxUOOcjfWg8bufU9-LKvpqplgqDKv29ayHg" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~valerian.saliou" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher valerian.saliou">valerian.saliou</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->3.0.1<!-- --> • <!-- -->2 years ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->6<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->3.0.1<!-- -->, <!-- -->2 years ago<!-- -->6<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">5,360</div></div></section><section class="ef4d7c63 pl1-ns pt3 pb2 ph1 b--black-10 b3401251 flex bt"><div class="_0d2164ff"><div class="bea55649 flex flex-row flex-wrap items-end pr3"><a target="_self" href="/package/request-rate-limiter"><img alt="" src="https://static-production.npmjs.com/26de4581a89de8a6501ce9a3dbb06b85.svg" title="public package" class="c9d94a14 dn"/><h3 class="db7ee1ac fw6 f4 black-90 dib lh-solid ma0 no-underline hover-black">request-rate-limiter</h3></a></div><p class="_8fbbd57d f5 black-60 mt1 mb0 pv1 no-underline lh-copy">Call HTTP APIs that have rate limits and allow request bursts</p><ul class="cf33f2b9 w-90 list mh0 mv2 pa0 truncate"><li><a href="/search?q=keywords:http" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">http</a></li><li><a href="/search?q=keywords:rate-limit" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">rate-limit</a></li><li><a href="/search?q=keywords:request" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">request</a></li><li><a href="/search?q=keywords:leaky-bucket" class="_69ac86b8 f6 link fl dib fw4 black-90 bg-black-05 hover-bg-black-10 br2 hover-black ph2 pv1">leaky-bucket</a></li></ul><div class="_0be7a12f f6 black-80 mt1 mb1 flex-ns db flex-row lh-copy"><div class="_045facde flex flex-row pl1 br3"><div><a aria-hidden="true"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZTkyZmM4OTU0NDc4MDA5ZDY1MTdlZDZjMDQwZDEwNj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.gisaDTh_iiDLHxoBJPUSEwF2lhhTYYeJEtSBBI4A-VM" style="width:22px;height:22px;min-width:22px;border-radius:4%"/></a></div><a target="_self" href="/~ee" class="e98ba1cc pl2 pr2 black-70 fw6 db hover-black no-underline" aria-label="publisher ee">ee</a></div><span aria-hidden="true" class="_66c2abad flex-grow-1">•<!-- --> <!-- -->2.0.3<!-- --> • <!-- -->5 years ago<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-package" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path></svg> <!-- -->7<!-- --> dependents<!-- --> <!-- -->• <svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg> <!-- -->MIT</span><span class="_657f443d">published version <!-- -->2.0.3<!-- -->, <!-- -->5 years ago<!-- -->7<!-- --> dependents <!-- -->licensed under $<!-- -->MIT</span></div></div><div class="_5c95be4e items-start flex flex-row items-center flex-shrink-0 "><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg><div style="padding-left:8px">3,677</div></div></section></div><div class="flex flex-row justify-between"><div class="b36798b1 fl tl tr-l pt3-l pb1-l mb3"><nav role="navigation" aria-label="Pagination Navigation" class="dfa16c80 ma0 "><div class="_26391339 dib a0329937 _31dfe8f0"><a aria-label="Current page, page 1" href="/search?q=keywords%3Arate-limit&amp;page=0&amp;perPage=20" aria-current="true">1</a></div><div class="_26391339 dib"><a aria-label="Go to page 2" href="/search?q=keywords%3Arate-limit&amp;page=1&amp;perPage=20" aria-current="false">2</a></div><div class="_26391339 dib"><a aria-label="Go to page 3" href="/search?q=keywords%3Arate-limit&amp;page=2&amp;perPage=20" aria-current="false">3</a></div><div class="_26391339 dib">…</div><div class="_26391339 dib"><a aria-label="Go to page 10" href="/search?q=keywords%3Arate-limit&amp;page=9&amp;perPage=20" aria-current="false">10</a></div><div class="_26391339 dib"><a aria-label="Next page" href="/search?q=keywords%3Arate-limit&amp;page=1&amp;perPage=20">»</a></div></nav></div></div></div></div> </main><footer class="cd2827bb bt b--black-10 mt4"><h2 class="e13b5dae">Footer</h2><div id="footer" class="center mw9 pa3 flex flex-column flex-wrap-m flex-row-ns"><div class="flex-auto pa4-ns pa3 w-100 w-10-l"><div class="_802b5507 pt3"><a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/npm" aria-label="Visit npm GitHub page"><svg viewBox="0 0 27.23 27.23" aria-hidden="true"><rect fill="#333333" width="27.23" height="27.23" rx="2"></rect><polygon fill="#fff" points="5.8 21.75 13.66 21.75 13.67 9.98 17.59 9.98 17.58 21.76 21.51 21.76 21.52 6.06 5.82 6.04 5.8 21.75"></polygon></svg></a></div><div class="_802b5507 pt3"><a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com" aria-label="GitHub"><svg aria-hidden="true" focusable="false" class="" viewBox="0 0 24 24" width="50" height="50" fill="black" style="display:inline-block;user-select:none;vertical-align:top;overflow:visible"><path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path></svg></a></div></div><div class="flex-auto pa4-ns pa3 w-30-ns w-50-m"><h3 id="support" class="_1b8c0a9f">Support</h3><ul class="list pl0" aria-labelledby="support"><li class="pv1"><a class="df995acb no-underline pr1" href="https://docs.npmjs.com">Help</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="https://github.com/advisories">Advisories</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="http://status.npmjs.org/">Status</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/support">Contact npm</a></li></ul></div><div class="flex-auto pa4-ns pa3 w-30-ns w-50-m"><h3 id="company" class="_1b8c0a9f">Company</h3><ul class="list pl0" aria-labelledby="company"><li class="pv1"><a class="df995acb no-underline pr1" href="/about">About</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="https://github.blog/tag/npm/">Blog</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/press">Press</a></li></ul></div><div class="flex-auto pa4-ns pa3 w-30-ns w-50-m"><h3 id="terms" class="_1b8c0a9f">Terms &amp; Policies</h3><ul class="list pl0" aria-labelledby="terms"><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/">Policies</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/terms">Terms of Use</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/conduct">Code of Conduct</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/privacy">Privacy</a></li></ul></div></div></footer></div><div class="_8a62ca63 fixed top-0 left-0 z-999" style="opacity:0;transform:scaleX(1);-webkit-transform:scaleX(1);-moz-transform:scaleX(1)"></div></div></div><script integrity="sha512-vp7K3hftj7OjjnA6Wa8GUsem6+ZXupT4sEIpCinMHvWoPzqFpzR+1nVk1lvZycJ/smWzTRBLoxyfmdZSCsT2pw==">window.__context__ = {"context":{"formData":{"search":{"q":{"value":"keywords:rate-limit"}}},"objects":[{"updated":"2025-02-26T05:16:37.267Z","searchScore":96.871574,"package":{"name":"throttleit","keywords":["throttle","rate","limit","limited","rate-limit","ratelimit","throttling","optimization","performance","function","execution","interval","batch"],"version":"2.1.0","description":"Throttle a function to limit its execution rate","publisher":{"name":"sindresorhus","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9kMzZhOTIyMzdjNzVjNTMzN2MxN2I2MGQ5MDY4NmJmOT9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.KC8XNdUppYGv8i3NR_MWueP3ituNkh_qulwMMj-O-vI","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9kMzZhOTIyMzdjNzVjNTMzN2MxN2I2MGQ5MDY4NmJmOT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.dDYAebLlFqNIyhWaiaemdRfFkjWlTwsEzFKHfFrqshM","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9kMzZhOTIyMzdjNzVjNTMzN2MxN2I2MGQ5MDY4NmJmOT9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.L3jgp0dEuqyrNhjkCIKw9QF5olsmepG_irRSq0obdz4"}},"maintainers":[{"email":"sindresorhus@gmail.com","username":"sindresorhus"}],"license":"MIT","date":{"ts":1719010258348,"rel":"8 months ago"},"links":{"homepage":"https://github.com/sindresorhus/throttleit#readme","repository":"git+https://github.com/sindresorhus/throttleit.git","bugs":"https://github.com/sindresorhus/throttleit/issues","npm":"https://www.npmjs.com/package/throttleit"},"dependents":128,"downloads":{"monthly":27929762,"weekly":6453602},"keywordsTruncated":false}},{"updated":"2025-02-26T05:12:38.390Z","searchScore":85.8481,"package":{"name":"express-rate-limit","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce"],"version":"7.5.0","description":"Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.","publisher":{"name":"nfriedly","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85ZWEyY2I4Yjg5YWJiNzE2NzhlODQ3YTVhODg5NDllZD9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.IjBqNcA_2Etbvph4-x0ZytHKRHwEQ90gCODL85uXcGw","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85ZWEyY2I4Yjg5YWJiNzE2NzhlODQ3YTVhODg5NDllZD9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.uLA4vTs9ZITsVUdnWmN-TKxeueC4OotWJN8F90Hy038","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85ZWEyY2I4Yjg5YWJiNzE2NzhlODQ3YTVhODg5NDllZD9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.qsZKWCNhbP7SLC1SOBNEVHIi9dBakb15FAO_VqG9nLI"}},"maintainers":[{"email":"nathan@nfriedly.com","username":"nfriedly"},{"email":"gamemaker0042@gmail.com","username":"gamemaker1"}],"license":"MIT","date":{"ts":1734239095384,"rel":"2 months ago"},"links":{"homepage":"https://github.com/express-rate-limit/express-rate-limit","repository":"git+https://github.com/express-rate-limit/express-rate-limit.git","bugs":"https://github.com/express-rate-limit/express-rate-limit/issues","npm":"https://www.npmjs.com/package/express-rate-limit"},"dependents":1133,"downloads":{"monthly":6240333,"weekly":1401557},"keywordsTruncated":true}},{"updated":"2025-02-26T05:11:07.138Z","searchScore":77.574486,"package":{"name":"@nestjs/throttler","keywords":["nestjs","rate-limit","throttle","express","fastify","ws","gql","nest"],"version":"6.4.0","description":"A Rate-Limiting module for NestJS to work on Express, Fastify, Websockets, Socket.IO, and GraphQL, all rolled up into a simple package.","publisher":{"name":"nestjscore","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9lZDI1OTU4NzA0MWM1YWI3OWYyNGNiMWUzNDFmMGEzNz9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.rKWggzUFaPOWtWG0l66JuEdjmdN9rUOsJH5JCBfSgis","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9lZDI1OTU4NzA0MWM1YWI3OWYyNGNiMWUzNDFmMGEzNz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.sv9I0N_4V_VS5nhzPeQZACobyGI2_NHgWOA4uC2RNpg","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9lZDI1OTU4NzA0MWM1YWI3OWYyNGNiMWUzNDFmMGEzNz9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.hLdG6hXQE4Dfil6090lrDEuGdsHbfQUijpy5RvzXjSg"}},"maintainers":[{"email":"admin@kamilmysliwiec.com","username":"nestjscore"},{"email":"mail@kamilmysliwiec.com","username":"kamilmysliwiec"}],"license":"MIT","date":{"ts":1737578301664,"rel":"a month ago"},"links":{"homepage":"https://github.com/nestjs/throttler#readme","repository":"git+https://github.com/nestjs/throttler.git","bugs":"https://github.com/nestjs/throttler/issues","npm":"https://www.npmjs.com/package/@nestjs/throttler"},"dependents":128,"downloads":{"monthly":1815218,"weekly":435682},"keywordsTruncated":false}},{"updated":"2025-02-26T05:16:33.524Z","searchScore":75.19675,"package":{"name":"koa2-ratelimit","keywords":["koa2-ratelimit","koa2-rate-limit","koa-rate-limit","koa-ratelimit","koa2-brute-force","koa-brute-force","koa2-bruteforce","koa-bruteforce","koa2","rate","limit","sequelize","mongodb","ratelimit"],"version":"1.1.3","description":"IP rate-limiting middleware for Koajs 2. Use to limit repeated requests to APIs and/or endpoints such as password reset.","publisher":{"name":"ysocorp","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8wZDMyYWEyY2RhNDgxMGM5YzQzODRiM2MwMjE3NGVhNz9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.hyZ3nKBB1AW9SwflwnRiw74bDOGekJbKxP2Vd8MUPLM","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8wZDMyYWEyY2RhNDgxMGM5YzQzODRiM2MwMjE3NGVhNz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.uLpDe692MFF14IF-4TorQPPvCVpV4DTXeTjuJyuv2qY","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8wZDMyYWEyY2RhNDgxMGM5YzQzODRiM2MwMjE3NGVhNz9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.NZzDnxsRXwiwdpptl4PEGfP2ClxMNG1HvPFS17v-Gg8"}},"maintainers":[{"email":"contact@ysocorp.com","username":"ysocorp"}],"license":"MIT","date":{"ts":1680075944449,"rel":"2 years ago"},"links":{"homepage":"https://github.com/ysocorp/koa2-ratelimit#readme","repository":"git+https://github.com/ysocorp/koa2-ratelimit.git","bugs":"https://github.com/ysocorp/koa2-ratelimit/issues","npm":"https://www.npmjs.com/package/koa2-ratelimit"},"dependents":87,"downloads":{"monthly":698382,"weekly":164203},"keywordsTruncated":true}},{"updated":"2025-02-26T05:09:58.944Z","searchScore":66.77987,"package":{"name":"nuxt-security","keywords":["nuxt","vue","security","owasp","helmet","basic-auth","rate-limit","xss","cors","request-size-limit","allowed-http-methods","csrf","content-security-policy"],"version":"2.1.5","description":"🛡️ Security Module for Nuxt based on HTTP Headers and Middleware","publisher":{"name":"vejja","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9iZDI1N2YzM2ZlZjFlMDg4MzZiOWVhZDRjNTZiYmNlNT9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.pbFjcbWOiRBA6b2GyzcsclBzJAFKLSAry70rezbx8uQ","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9iZDI1N2YzM2ZlZjFlMDg4MzZiOWVhZDRjNTZiYmNlNT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.l5Trl724HrqzLfkSNY5VJpKwu-0RZlBf_JOhF_KuknY","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9iZDI1N2YzM2ZlZjFlMDg4MzZiOWVhZDRjNTZiYmNlNT9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.U6XzpoBCq-EcH-JOMu_OF3657s9HxicMQTs-LwcO1OE"}},"maintainers":[{"email":"jakub.andrzejewski.dev@gmail.com","username":"baroshem"},{"email":"sraffray@yahoo.fr","username":"vejja"}],"license":"MIT","date":{"ts":1732978024968,"rel":"3 months ago"},"links":{"homepage":"https://nuxt-security.vercel.app","repository":"git+https://github.com/Baroshem/nuxt-security.git","bugs":"https://github.com/Baroshem/nuxt-security/issues","npm":"https://www.npmjs.com/package/nuxt-security"},"dependents":10,"downloads":{"monthly":225291,"weekly":58260},"keywordsTruncated":false}},{"updated":"2025-02-26T05:17:55.797Z","searchScore":66.08885,"package":{"name":"@nest-lab/throttler-storage-redis","keywords":["nestjs","rate-limit","throttle","express","fastify","redis"],"version":"1.1.0","description":"Redis storage provider for the @nestjs/throttler package","publisher":{"name":"jmcdo29","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8yYmVlZWExZDcyNmU5YzNmYWIzYTkxOTUzODk1MDM5Yj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.sX1i6e6wfKfOJ_4wUZY_KQoIU3KRW4KL1o4wQmzS6tM","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8yYmVlZWExZDcyNmU5YzNmYWIzYTkxOTUzODk1MDM5Yj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.r1UQS69tjNFGxcMFJa_NUlwqT7HuKO1fTCYk6GRruUc","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8yYmVlZWExZDcyNmU5YzNmYWIzYTkxOTUzODk1MDM5Yj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.aDsB526T1iTv4eRy7C5Hj59qz3bVs5tER7dBc_3BNZo"}},"maintainers":[{"email":"jmcdo29@gmail.com","username":"jmcdo29"}],"license":"MIT","date":{"ts":1737654971535,"rel":"a month ago"},"links":{"homepage":"https://github.com/jmcdo29/nest-lab#readme","repository":"git+https://github.com/jmcdo29/nest-lab.git","bugs":"https://github.com/jmcdo29/nest-lab/issues","npm":"https://www.npmjs.com/package/@nest-lab/throttler-storage-redis"},"dependents":1,"downloads":{"monthly":160007,"weekly":42398},"keywordsTruncated":false}},{"updated":"2025-02-26T05:17:59.955Z","searchScore":65.70683,"package":{"name":"stopcock","keywords":["token bucket","rate-limit","function","throttle","promise"],"version":"1.1.0","description":"Limit the execution rate of a function using the token bucket algorithm","publisher":{"name":"lpinca","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mNmYxOWExNDc2OTRiMjRmYzBmMjgyNTEyMDAyODE0NT9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.eUoog_Nnrf9TO5N8d8YipHybf4s9-WW1OjhDEPk22mk","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mNmYxOWExNDc2OTRiMjRmYzBmMjgyNTEyMDAyODE0NT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.zSbpCEKLEHL53VKkcfjyNWyssTAhq6AbaXIYVFH-m8M","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mNmYxOWExNDc2OTRiMjRmYzBmMjgyNTEyMDAyODE0NT9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.pioBa1wvDX1Yy2aQdzwHzNZHSPodlajC2S8A2DofoIE"}},"maintainers":[{"email":"luigipinca@gmail.com","username":"lpinca"}],"license":"MIT","date":{"ts":1555832618508,"rel":"6 years ago"},"links":{"homepage":"https://github.com/lpinca/stopcock","repository":"git+https://github.com/lpinca/stopcock.git","bugs":"https://github.com/lpinca/stopcock/issues","npm":"https://www.npmjs.com/package/stopcock"},"dependents":16,"downloads":{"monthly":199114,"weekly":44852},"keywordsTruncated":false}},{"updated":"2025-02-26T05:17:10.044Z","searchScore":64.71654,"package":{"name":"graphql-rate-limit-directive","keywords":["graphql","graphql-js","directive","middleware","schema","resolvers","rate","limit","ratelimit","rate-limit","graphql-rate-limit","cost","security"],"version":"2.0.6","description":"Fixed window rate-limiting directive for GraphQL. Use to limit repeated requests to queries and mutations.","publisher":{"name":"ravangen","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hZDA1OTNhZjVlOTExM2IxMTEzMzZkYjQzMjEzNjQyOT9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.wj1Q6mvqDlZ6HEwFlwTYKKT4hR7BmjKssuSHZtyVjZ8","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hZDA1OTNhZjVlOTExM2IxMTEzMzZkYjQzMjEzNjQyOT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.m-B8P8xsuxdlY28kbnMmIU2NOpiZEzJGUaeT_GbF1uc","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hZDA1OTNhZjVlOTExM2IxMTEzMzZkYjQzMjEzNjQyOT9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.bzLnrfobsj-2wVju5Nbxdw7uMMhqLAaslD98m0lz9WQ"}},"maintainers":[{"email":"ravangen@gmail.com","username":"ravangen"}],"license":"MIT","date":{"ts":1733244639232,"rel":"3 months ago"},"links":{"homepage":"https://github.com/ravangen/graphql-rate-limit#readme","repository":"git+https://github.com/ravangen/graphql-rate-limit.git","bugs":"https://github.com/ravangen/graphql-rate-limit/issues","npm":"https://www.npmjs.com/package/graphql-rate-limit-directive"},"dependents":4,"downloads":{"monthly":118679,"weekly":26232},"keywordsTruncated":false}},{"updated":"2025-02-26T05:16:38.089Z","searchScore":62.428627,"package":{"name":"express-slow-down","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute","force","bruteforce"],"version":"2.0.3","description":"Basic IP rate-limiting middleware for Express that slows down responses rather than blocking the user.","publisher":{"name":"nfriedly","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85ZWEyY2I4Yjg5YWJiNzE2NzhlODQ3YTVhODg5NDllZD9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.IjBqNcA_2Etbvph4-x0ZytHKRHwEQ90gCODL85uXcGw","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85ZWEyY2I4Yjg5YWJiNzE2NzhlODQ3YTVhODg5NDllZD9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.uLA4vTs9ZITsVUdnWmN-TKxeueC4OotWJN8F90Hy038","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85ZWEyY2I4Yjg5YWJiNzE2NzhlODQ3YTVhODg5NDllZD9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.qsZKWCNhbP7SLC1SOBNEVHIi9dBakb15FAO_VqG9nLI"}},"maintainers":[{"email":"nathan@nfriedly.com","username":"nfriedly"},{"email":"rick.hjpbarcelos@gmail.com","username":"hbarcelos"},{"email":"gamemaker0042@gmail.com","username":"gamemaker1"}],"license":"MIT","date":{"ts":1715198538202,"rel":"10 months ago"},"links":{"homepage":"https://github.com/express-rate-limit/express-slow-down","repository":"git+https://github.com/express-rate-limit/express-slow-down.git","bugs":"https://github.com/express-rate-limit/express-slow-down/issues","npm":"https://www.npmjs.com/package/express-slow-down"},"dependents":51,"downloads":{"monthly":112134,"weekly":26348},"keywordsTruncated":true}},{"updated":"2025-02-26T05:18:50.027Z","searchScore":59.688477,"package":{"name":"leaky-bucket-queue","keywords":["leaky","bucket","leaky bucket","leaky-bucket","rate","rate-control","rate-limit","throtle","throtling","queue"],"version":"0.0.2","description":"An implementation of burstable throtling algorithm on top of rxjs","publisher":{"name":"seanplwong","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hMjU2MzJiNjYzYWUyZmU2NTYyYjZiODMzYzYyNzRhNj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.c-nGF-l_SAr4rmFwJm7e750nyWpIwcYTkpvQIop42lM","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hMjU2MzJiNjYzYWUyZmU2NTYyYjZiODMzYzYyNzRhNj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.nrwkudzgmuB5FEQ2it8hZFUqfREY1u_oh4LaOlcOyYo","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hMjU2MzJiNjYzYWUyZmU2NTYyYjZiODMzYzYyNzRhNj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.WW42pciVUlzptOuU1517Sseq0Fq_E5bFqzPSaHRfMUs"}},"maintainers":[{"email":"seanplwong@gmail.com","username":"seanplwong"}],"license":"MIT","date":{"ts":1567781055772,"rel":"5 years ago"},"links":{"npm":"https://www.npmjs.com/package/leaky-bucket-queue"},"dependents":1,"downloads":{"monthly":76777,"weekly":17844},"keywordsTruncated":false}},{"updated":"2025-02-26T05:17:37.983Z","searchScore":57.062218,"package":{"name":"rate-limit-mongo","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","security","brute","force","bruteforce","brute-force","attack","mongo","mongodb"],"version":"2.3.2","description":"Provides a Mongo store for the express-rate-limit middleware.","publisher":{"name":"okv","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80NmJmNzIyMjQzOTFjNTdjMjc0ZmVkYThhMWNjZDMwMT9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ._MeHNvz6RkkY0Hgs0l05aUDH54ujiPK4JuUHFT78sQQ","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80NmJmNzIyMjQzOTFjNTdjMjc0ZmVkYThhMWNjZDMwMT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.KDsUlzpRWXpvyE5zdz3S1oyOU1IdAhdFeGvYdEuPIkQ","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80NmJmNzIyMjQzOTFjNTdjMjc0ZmVkYThhMWNjZDMwMT9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.w1B_fRpq663XoNEp5DXBDAkLdMXP79cSXlW_X8XoiBI"}},"maintainers":[{"email":"oleg.korobenko@gmail.com","username":"okv"},{"email":"dev.2do2go@gmail.com","username":"2do2go"},{"email":"anton.svet.viktorovich@gmail.com","username":"a.makarov"}],"license":"MIT","date":{"ts":1631386136914,"rel":"3 years ago"},"links":{"homepage":"https://github.com/2do2go/rate-limit-mongo#readme","repository":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git","bugs":"https://github.com/2do2go/rate-limit-mongo/issues","npm":"https://www.npmjs.com/package/rate-limit-mongo"},"dependents":15,"downloads":{"monthly":48196,"weekly":10077},"keywordsTruncated":false}},{"updated":"2025-02-26T05:19:08.917Z","searchScore":52.88267,"package":{"name":"hardened-fetch","keywords":["fetch","request","retry","backoff","rate-limit","concurrency","throttle"],"version":"1.2.3","description":"Hardened Fetch is a tiny wrapper for `global.fetch` adding request timeouts, request throttling, retries with backoff and rate limit support, pagination, and descriptive errors.","publisher":{"name":"i-like-robots","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85YjZiNzFiOWQxMTVhNTE2NjQwMzNmMWQxZjVjYzM2Nz9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.tzfBrY1dU_9sVDulR0zKMT2SMGY-Oodo1IRaPSCnX2k","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85YjZiNzFiOWQxMTVhNTE2NjQwMzNmMWQxZjVjYzM2Nz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.kM1BIndYdLbWvm3_M_N-StfH1pOh7HTPmydHWFxogy4","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85YjZiNzFiOWQxMTVhNTE2NjQwMzNmMWQxZjVjYzM2Nz9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.zO-E8awuc1sLgATrF6BsjQSsy7ks8mGcYzOztHilxdM"}},"maintainers":[{"email":"matt+npm@maketea.co.uk","username":"i-like-robots"}],"license":"MIT","date":{"ts":1704709492376,"rel":"a year ago"},"links":{"homepage":"https://github.com/i-like-robots/hardened-fetch","repository":"git+https://github.com/i-like-robots/hardened-fetch.git","bugs":"https://github.com/i-like-robots/hardened-fetch/issues","npm":"https://www.npmjs.com/package/hardened-fetch"},"dependents":2,"downloads":{"monthly":23016,"weekly":7477},"keywordsTruncated":false}},{"updated":"2025-02-26T20:07:40.641Z","searchScore":52.626633,"package":{"name":"elysia-rate-limit","keywords":["elysia","rate","limit","ratelimit","rate-limit"],"version":"4.1.0","description":"Rate-limiter for Elysia.js","publisher":{"name":"rayriffy","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8yM2I3MjY1Nzk1NTk1OWIzMGJjYmQ4ZDRiMTlmZmQ1Mz9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.45i2wjyN2Br9i_jQ-qJFwPiUvr7lWfFWPyCOhhQWhks","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8yM2I3MjY1Nzk1NTk1OWIzMGJjYmQ4ZDRiMTlmZmQ1Mz9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.nsoXux7DM7sz4IBzMAIuYM9NuB9Unym1Zhup_gJBYQg","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8yM2I3MjY1Nzk1NTk1OWIzMGJjYmQ4ZDRiMTlmZmQ1Mz9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.z67_oybiZKacpQ8bhd7uzOECyyzvKb0qXdGD_WnBAjY"}},"maintainers":[{"email":"contact@rayriffy.com","username":"rayriffy"}],"license":"MIT","date":{"ts":1716495076661,"rel":"9 months ago"},"links":{"homepage":"https://github.com/rayriffy/elysia-rate-limit#readme","repository":"git+https://github.com/rayriffy/elysia-rate-limit.git","bugs":"https://github.com/rayriffy/elysia-rate-limit/issues","npm":"https://www.npmjs.com/package/elysia-rate-limit"},"dependents":3,"downloads":{"monthly":12415,"weekly":3334},"keywordsTruncated":false}},{"updated":"2025-02-25T21:27:47.293Z","searchScore":51.460354,"package":{"name":"rate-limit-memcached","keywords":["express","api","memcached","rate-limit"],"version":"1.0.1","description":"A memcached store for the express-rate-limit middleware.","publisher":{"name":"gamemaker1","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85N2ExZGMxZjVmY2Y0ODE2NWY0OTFlOTBlNWIyZWUxYT9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.vVjo-MDmGLUhic7ybRWhnZmc5YVMkscyBM6V3U5_nDw","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85N2ExZGMxZjVmY2Y0ODE2NWY0OTFlOTBlNWIyZWUxYT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.WHSffy1DglwSSzo3xygH8v-IoZnDMoDYj-H5KxYyq9w","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85N2ExZGMxZjVmY2Y0ODE2NWY0OTFlOTBlNWIyZWUxYT9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.Ldkf8LOi0_c8Ckgmtcd1FxMknSlrAEYCuKkli0K9LDQ"}},"maintainers":[{"email":"linyows@gmail.com","username":"linyows"},{"email":"gamemaker0042@gmail.com","username":"gamemaker1"}],"license":"MIT","date":{"ts":1696848214378,"rel":"a year ago"},"links":{"homepage":"https://github.com/express-rate-limit/rate-limit-memcached","repository":"git+https://github.com/express-rate-limit/rate-limit-memcached.git","bugs":"https://github.com/express-rate-limit/rate-limit-memcached/issues","npm":"https://www.npmjs.com/package/rate-limit-memcached"},"dependents":5,"downloads":{"monthly":13146,"weekly":2360},"keywordsTruncated":false}},{"updated":"2025-02-26T17:36:24.787Z","searchScore":49.65977,"package":{"name":"freebind","keywords":["anyip","rate-limit","socket","ipv6","ratelimiting"],"version":"0.2.2","description":"bind sockets to random IP addresses from specified prefixes","publisher":{"name":"dumbmoron","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci81OGZhYWU5ZTZkZGY4ZjEwOGYzMTZiZDY4YjIwMjQ4Zj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.hc3cyiZpHOxp_ttsNTH6g4l5tDeisdRPHrLwLG3fsJM","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci81OGZhYWU5ZTZkZGY4ZjEwOGYzMTZiZDY4YjIwMjQ4Zj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.f-uSp5zQ1d0p2_hMT-8BDc1RnWAaNalcLurb9GssMN0","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci81OGZhYWU5ZTZkZGY4ZjEwOGYzMTZiZDY4YjIwMjQ4Zj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.2QIKH1P2eG76QQehuROv8T3lSAi85SfXENrlH_w4HOc"}},"maintainers":[{"email":"me@wukko.me","username":"wukko"},{"email":"npm_spam@riseup.net","username":"dumbmoron"}],"license":"AGPL-3.0","date":{"ts":1715709434785,"rel":"9 months ago"},"links":{"homepage":"https://github.com/imputnet/freebind.js#readme","repository":"git+https://github.com/imputnet/freebind.js.git","bugs":"https://github.com/imputnet/freebind.js/issues","npm":"https://www.npmjs.com/package/freebind"},"dependents":0,"downloads":{"monthly":7587,"weekly":947},"keywordsTruncated":false}},{"updated":"2025-02-26T20:01:15.416Z","searchScore":48.826824,"package":{"name":"lambda-rate-limiter","keywords":["ratelimit","rate-limit","rate","limit","attack","flood","security","dos","ddos","lambda"],"version":"4.0.2","description":"Simple in-memory rate-limit for Node.","publisher":{"name":"simlu","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hMWMyY2E1YjZkMGVhYzY0Mjk0ZjUxMjFjMzc1ZjZiZj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.cEFmYV1lmQA4o8Lp7z6DeBmkrEyKFIDIxl1YekGlFMs","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hMWMyY2E1YjZkMGVhYzY0Mjk0ZjUxMjFjMzc1ZjZiZj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.xv7QUzZLmB_h7DK49zAb5roEBHLkatynqacRl8C0PrY","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9hMWMyY2E1YjZkMGVhYzY0Mjk0ZjUxMjFjMzc1ZjZiZj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.NtkwtIdt8XobPy5BQpHFQyeyPAmOzY9rw4fS4HjpIYU"}},"maintainers":[{"email":"npm@blackflux.com","username":"simlu"}],"license":"MIT","date":{"ts":1738179798328,"rel":"a month ago"},"links":{"homepage":"https://github.com/blackflux/lambda-rate-limiter#readme","repository":"git+https://github.com/blackflux/lambda-rate-limiter.git","bugs":"https://github.com/blackflux/lambda-rate-limiter/issues","npm":"https://www.npmjs.com/package/lambda-rate-limiter"},"dependents":7,"downloads":{"monthly":7946,"weekly":1755},"keywordsTruncated":false}},{"updated":"2025-02-26T17:56:57.052Z","searchScore":47.85734,"package":{"name":"hapi-rate-limitor","keywords":["brute force","brute force protection","bruteforce","hapi","hapi.js","hapijs","limit","plugin","rate","rate limit","rate limiter","rate limiting","rate-limit"],"version":"4.0.0","description":"Rate limiting for hapi/hapi.js to prevent brute-force attacks","publisher":{"name":"marcuspoehls","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mMjdkOWVjZTM3MWI3NjhiZTRlOGRmODc4MWIyNzliZD9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.njlA-Mplgw6oDJLN7U_8UkZZtrnZuTDg6I8sEKUaz34","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mMjdkOWVjZTM3MWI3NjhiZTRlOGRmODc4MWIyNzliZD9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.Afynk7IX0vfxz9cqy_-tHVEtRdcgIEjj2q9ciXFrVss","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mMjdkOWVjZTM3MWI3NjhiZTRlOGRmODc4MWIyNzliZD9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.ZldEJqcWFQLgGWNlACOzpLq9kAzFqUY9e4Bpj-eRYSo"}},"maintainers":[{"email":"info@futurestud.io","username":"futurestud.io"},{"email":"marcus.poehls@gmail.com","username":"marcuspoehls"},{"email":"norman@peitek.com","username":"peitek"},{"email":"christian.fellner@outlook.com","username":"celsiusf"}],"license":"MIT","date":{"ts":1711342996855,"rel":"a year ago"},"links":{"homepage":"https://github.com/futurestudio/hapi-rate-limitor#readme","repository":"git+https://github.com/futurestudio/hapi-rate-limitor.git","bugs":"https://github.com/futurestudio/hapi-rate-limitor/issues","npm":"https://www.npmjs.com/package/hapi-rate-limitor"},"dependents":3,"downloads":{"monthly":5625,"weekly":1209},"keywordsTruncated":false}},{"updated":"2025-02-26T21:12:12.172Z","searchScore":46.79183,"package":{"name":"@acpr/rate-limit-postgresql","keywords":["express-rate-limit","express-rate-limit-postgresql","express-rate-limit-postgres","express","rate","limit","ratelimit","rate-limit","middleware","ip","auth","authorization","security","brute"],"version":"1.4.1","description":"A PostgreSQL store for the `express-rate-limit` middleware","publisher":{"name":"acpr","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80M2U3ZjBlOWNhZTI4MzI0ZDFhMDEwYTgyNGFmMGJiNj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.ifNtgrRhsxt4tndyVCF8iWD6vf2kQrH26fjp9qT-i2I","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80M2U3ZjBlOWNhZTI4MzI0ZDFhMDEwYTgyNGFmMGJiNj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.rCmoMbbQqbnHo0wG9zPeFMrWz0ZiEYCh-g6ErlRJ-Fk","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80M2U3ZjBlOWNhZTI4MzI0ZDFhMDEwYTgyNGFmMGJiNj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.yMXr9t2htZKGxrICBnKaW4q2XBk52kDISMCX5xNVSto"}},"maintainers":[{"email":"nathan@nfriedly.com","username":"nfriedly"},{"email":"gamemaker0042@gmail.com","username":"gamemaker1"},{"email":"adrianprelipceanc@gmail.com","username":"acpr"}],"license":"MIT","date":{"ts":1710762262950,"rel":"a year ago"},"links":{"homepage":"https://github.com/express-rate-limit/rate-limit-postgresql","repository":"git+https://github.com/express-rate-limit/rate-limit-postgresql.git","bugs":"https://github.com/express-rate-limit/rate-limit-postgresql/issues","npm":"https://www.npmjs.com/package/@acpr/rate-limit-postgresql"},"dependents":0,"downloads":{"monthly":4713,"weekly":1150},"keywordsTruncated":true}},{"updated":"2025-02-25T07:58:31.396Z","searchScore":44.643147,"package":{"name":"fast-ratelimit","keywords":["ratelimit","rate-limit","rate","limit","attack","flood","security","dos","ddos"],"version":"3.0.1","description":"Fast and efficient in-memory rate-limit for Node, used to alleviate severe DOS attacks.","publisher":{"name":"valerian.saliou","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9iNGNiODMwMmVlMzdmOTg1Y2M3NjE5MGFhYWUxYjQwYj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.t0QJ2bHNgh-Dxdm8adcB9EdH_3ewrLjFdb0Yhu0aTq0","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9iNGNiODMwMmVlMzdmOTg1Y2M3NjE5MGFhYWUxYjQwYj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0._nXTFlqAnxUOOcjfWg8bufU9-LKvpqplgqDKv29ayHg","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9iNGNiODMwMmVlMzdmOTg1Y2M3NjE5MGFhYWUxYjQwYj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.t3g-qfW-4cFYQl4IzK7WZrXrVxX3JB2oa5yK1IIG8nM"}},"maintainers":[{"email":"valerian@valeriansaliou.name","username":"valerian.saliou"}],"license":"MIT","date":{"ts":1673206850399,"rel":"2 years ago"},"links":{"homepage":"https://github.com/valeriansaliou/node-fast-ratelimit","repository":"git://github.com/valeriansaliou/node-fast-ratelimit.git","bugs":"https://github.com/valeriansaliou/node-fast-ratelimit/issues","npm":"https://www.npmjs.com/package/fast-ratelimit"},"dependents":6,"downloads":{"monthly":5360,"weekly":1402},"keywordsTruncated":false}},{"updated":"2025-02-26T13:46:28.669Z","searchScore":44.288643,"package":{"name":"request-rate-limiter","keywords":["http","rate-limit","request","leaky-bucket"],"version":"2.0.3","description":"Call HTTP APIs that have rate limits and allow request bursts","publisher":{"name":"ee","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZTkyZmM4OTU0NDc4MDA5ZDY1MTdlZDZjMDQwZDEwNj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.r7K0_JSJ6hpr3B7EBnfmMthjQ7aiT1FylRkqsqAhBXk","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZTkyZmM4OTU0NDc4MDA5ZDY1MTdlZDZjMDQwZDEwNj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.gisaDTh_iiDLHxoBJPUSEwF2lhhTYYeJEtSBBI4A-VM","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mZTkyZmM4OTU0NDc4MDA5ZDY1MTdlZDZjMDQwZDEwNj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.gOqytbZQqU-GpW_JMI_QDpVyN5cKPSb-HmN1_KraZXY"}},"maintainers":[{"email":"michael@vanderweg.ch","username":"ee"}],"license":"MIT","date":{"ts":1572426587749,"rel":"5 years ago"},"links":{"homepage":"https://github.com/eventEmitter/request-rate-limiter","repository":"git+https://github.com/eventEmitter/request-rate-limiter.git","bugs":"https://github.com/eventEmitter/request-rate-limiter/issues","npm":"https://www.npmjs.com/package/request-rate-limiter"},"dependents":7,"downloads":{"monthly":3677,"weekly":748},"keywordsTruncated":false}}],"total":194,"time":"2025-02-26T21:25:29.677Z","pagination":{"perPage":20,"page":0},"url":"/search?q=keywords%3Arate-limit","hidePQM":true,"user":null,"auditLogEnabled":false,"userEmailVerified":null,"csrftoken":"2O9UzjTuwoonVkVHzjR4c7opdTPWs1WsNWSVEhteom9","notifications":[]},"chunks":{"commons":["commons.74d74467fb70cd5401ce.js","commons.74d74467fb70cd5401ce.js.map"],"styles":["styles.3c3ef91f073352bb91e7.css","minicssextractbug.d66d46708dd01c18fc7a.js","styles.3c3ef91f073352bb91e7.css.map","minicssextractbug.d66d46708dd01c18fc7a.js.map"],"acceptance/acceptance":["acceptance/acceptance.045e956326c9b5fcdb4a.js","acceptance/acceptance.045e956326c9b5fcdb4a.js.map"],"audit-logs/actions/common/auditLogContainer":["audit-logs/actions/common/auditLogContainer.53b5fa5258981ececeb9.js","audit-logs/actions/common/auditLogContainer.53b5fa5258981ececeb9.js.map"],"audit-logs/actions/common/dot":["audit-logs/actions/common/dot.a6c2035bc6bc32e6872b.js","audit-logs/actions/common/dot.a6c2035bc6bc32e6872b.js.map"],"audit-logs/actions/common/filterActions":["audit-logs/actions/common/filterActions.10690b8013721a202a2b.js","audit-logs/actions/common/filterActions.10690b8013721a202a2b.js.map"],"audit-logs/actions/common/spaceGap":["audit-logs/actions/common/spaceGap.aa2921bf2a5d6e05483a.js","audit-logs/actions/common/spaceGap.aa2921bf2a5d6e05483a.js.map"],"audit-logs/actions/orgAddUser":["audit-logs/actions/orgAddUser.b2434e45d5c1e0ec7424.js","audit-logs/actions/orgAddUser.b2434e45d5c1e0ec7424.js.map"],"audit-logs/actions/orgCreateTeam":["audit-logs/actions/orgCreateTeam.b913a08cf76b6f09986b.js","audit-logs/actions/orgCreateTeam.b913a08cf76b6f09986b.js.map"],"audit-logs/actions/orgDeleteTeam":["audit-logs/actions/orgDeleteTeam.23429bb96b3e79a6514d.js","audit-logs/actions/orgDeleteTeam.23429bb96b3e79a6514d.js.map"],"audit-logs/actions/orgRemoveUser":["audit-logs/actions/orgRemoveUser.ec85fe9dc75bea0df456.js","audit-logs/actions/orgRemoveUser.ec85fe9dc75bea0df456.js.map"],"audit-logs/actions/packageAddDistTag":["audit-logs/actions/packageAddDistTag.9c25dd522732ab83aac7.js","audit-logs/actions/packageAddDistTag.9c25dd522732ab83aac7.js.map"],"audit-logs/actions/packageDeprecate":["audit-logs/actions/packageDeprecate.63b497c1bdf823317dc8.js","audit-logs/actions/packageDeprecate.63b497c1bdf823317dc8.js.map"],"audit-logs/actions/packagePublish":["audit-logs/actions/packagePublish.78a715e772c06bbe4483.js","audit-logs/actions/packagePublish.78a715e772c06bbe4483.js.map"],"audit-logs/actions/packageRemoveDistTag":["audit-logs/actions/packageRemoveDistTag.903ceb4660dafeedd561.js","audit-logs/actions/packageRemoveDistTag.903ceb4660dafeedd561.js.map"],"audit-logs/actions/packageUnpublish":["audit-logs/actions/packageUnpublish.16d1df03fec4d63f590d.js","audit-logs/actions/packageUnpublish.16d1df03fec4d63f590d.js.map"],"audit-logs/actions/packageUpdateAccess":["audit-logs/actions/packageUpdateAccess.2bf9fad30bf1a61ede48.js","audit-logs/actions/packageUpdateAccess.2bf9fad30bf1a61ede48.js.map"],"audit-logs/actions/teamAddPackage":["audit-logs/actions/teamAddPackage.f8af99be6b16239ca78c.js","audit-logs/actions/teamAddPackage.f8af99be6b16239ca78c.js.map"],"audit-logs/actions/teamAddUser":["audit-logs/actions/teamAddUser.6341ac7ea782689ae91b.js","audit-logs/actions/teamAddUser.6341ac7ea782689ae91b.js.map"],"audit-logs/actions/teamRemovePackage":["audit-logs/actions/teamRemovePackage.936c4445a81fa6e8c1a0.js","audit-logs/actions/teamRemovePackage.936c4445a81fa6e8c1a0.js.map"],"audit-logs/actions/teamRemoveUser":["audit-logs/actions/teamRemoveUser.32174059ba1b1f80123f.js","audit-logs/actions/teamRemoveUser.32174059ba1b1f80123f.js.map"],"audit-logs/actions/teamUpdatePackageAccess":["audit-logs/actions/teamUpdatePackageAccess.64e6080dc87200c5b9b6.js","audit-logs/actions/teamUpdatePackageAccess.64e6080dc87200c5b9b6.js.map"],"audit-logs/audit-logs":["audit-logs/audit-logs.b869d771888ed5bb334b.js","audit-logs/audit-logs.b869d771888ed5bb334b.js.map"],"audit-logs/audit-search-input":["audit-logs/audit-search-input.254caec75db4b6125c38.js","audit-logs/audit-search-input.254caec75db4b6125c38.js.map"],"audit-logs/list":["audit-logs/list.71b679c4d8febf35b4e0.js","audit-logs/list.71b679c4d8febf35b4e0.js.map"],"audit-logs/no-logs":["audit-logs/no-logs.96e021b3c6bdf5516dcd.js","audit-logs/no-logs.96e021b3c6bdf5516dcd.js.map"],"audit-logs/no-logs-with-query":["audit-logs/no-logs-with-query.ca0b97629391629da963.js","audit-logs/no-logs-with-query.ca0b97629391629da963.js.map"],"auth/account-recovery-message":["auth/account-recovery-message.8811bdba4ec229b56326.js","auth/account-recovery-message.8811bdba4ec229b56326.js.map"],"auth/authentication-successful":["auth/authentication-successful.98d68883337c2dd0086e.js","auth/authentication-successful.98d68883337c2dd0086e.js.map"],"auth/email-otp":["auth/email-otp.bcd3856a7608ac2cfb67.js","auth/email-otp.bcd3856a7608ac2cfb67.js.map"],"auth/escalate":["auth/escalate.a0f46ae76cd468cc80e5.js","auth/escalate.a0f46ae76cd468cc80e5.js.map"],"auth/forgot":["auth/forgot.7e3f94b8f0af05795de7.js","auth/forgot.7e3f94b8f0af05795de7.js.map"],"auth/forgot-sent":["auth/forgot-sent.e4254265070d7123f9cc.js","auth/forgot-sent.e4254265070d7123f9cc.js.map"],"auth/forgot-sent-anonymized":["auth/forgot-sent-anonymized.adfe0bfc6f3a519c7871.js","auth/forgot-sent-anonymized.adfe0bfc6f3a519c7871.js.map"],"auth/invite-signup":["auth/invite-signup.ea258a4772fc6050aa10.js","auth/invite-signup.ea258a4772fc6050aa10.js.map"],"auth/liminal-login-footer":["auth/liminal-login-footer.9595439ced5e1639b8c3.js","auth/liminal-login-footer.9595439ced5e1639b8c3.js.map"],"auth/login":["auth/login.e94daf914368cde34070.js","auth/login.e94daf914368cde34070.js.map"],"auth/otp":["auth/otp.195162b3e2738e0ced7d.js","auth/otp.195162b3e2738e0ced7d.js.map"],"auth/password":["auth/password.0f412c56b69e53962180.js","auth/password.0f412c56b69e53962180.js.map"],"auth/recovery-code":["auth/recovery-code.3c24019b482abe7a5cbe.js","auth/recovery-code.3c24019b482abe7a5cbe.js.map"],"auth/recovery-email-otp":["auth/recovery-email-otp.1b042de41e7febae5057.js","auth/recovery-email-otp.1b042de41e7febae5057.js.map"],"auth/reset-password":["auth/reset-password.627905bfe3effb15bfb6.js","auth/reset-password.627905bfe3effb15bfb6.js.map"],"auth/signup":["auth/signup.67707cfbfb236edd281f.js","auth/signup.67707cfbfb236edd281f.js.map"],"auth/test/email-otp-test":["auth/test/email-otp-test.b187b7028c2f2eb6bd3a.js","auth/test/email-otp-test.b187b7028c2f2eb6bd3a.js.map"],"auth/test/escalate-test":["auth/test/escalate-test.9052ef986f0492464fdf.js","auth/test/escalate-test.9052ef986f0492464fdf.js.map"],"auth/test/otp-test":["auth/test/otp-test.382a646ba488c3cc229d.js","auth/test/otp-test.382a646ba488c3cc229d.js.map"],"auth/test/webauthn-login-test":["auth/test/webauthn-login-test.42b3321f1bafaa90ba6e.js","auth/test/webauthn-login-test.42b3321f1bafaa90ba6e.js.map"],"auth/webauthn-cli-login":["auth/webauthn-cli-login.5186665eb5d895762e85.js","auth/webauthn-cli-login.5186665eb5d895762e85.js.map"],"auth/webauthn-login":["auth/webauthn-login.471b3fb2ec0ee3b8910a.js","auth/webauthn-login.471b3fb2ec0ee3b8910a.js.map"],"billing/delete-org":["billing/delete-org.7248a7eed8447fe756cd.js","billing/delete-org.7248a7eed8447fe756cd.js.map"],"billing/detail":["billing/detail.55fe245e653c7bec2de5.js","billing/detail.55fe245e653c7bec2de5.js.map"],"billing/downgrade":["billing/downgrade.bfaf0fa6800e40d27915.js","billing/downgrade.bfaf0fa6800e40d27915.js.map"],"billing/upgrade":["billing/upgrade.7659d6531aad9068bff5.js","billing/upgrade.7659d6531aad9068bff5.js.map"],"contact/contact":["contact/contact.5141261e25bf2bfb94cc.js","contact/contact.5141261e25bf2bfb94cc.js.map"],"contact/recovery-support-v1":["contact/recovery-support-v1.432ac51f462221ba0be5.js","contact/recovery-support-v1.432ac51f462221ba0be5.js.map"],"contact/recovery-support-v2":["contact/recovery-support-v2.af168cb8deec07e975aa.js","contact/recovery-support-v2.af168cb8deec07e975aa.js.map"],"contact/sidebar":["contact/sidebar.14678ce744fa53a13bf0.js","contact/sidebar.14678ce744fa53a13bf0.js.map"],"debug/badstatus":["debug/badstatus.9e00f5e39914a30688c1.js","debug/badstatus.9e00f5e39914a30688c1.js.map"],"debug/detail":["debug/detail.afa571871a0efade08c2.js","debug/detail.afa571871a0efade08c2.js.map"],"debug/failcomponent":["debug/failcomponent.9ca799f538695b9d2e7a.js","debug/failcomponent.9ca799f538695b9d2e7a.js.map"],"dev/choose-template":["dev/choose-template.3229d919350008cac494.js","dev/choose-template.3229d919350008cac494.js.map"],"dsr/dsr-export":["dsr/dsr-export.174fc3c23c5c22638b47.js","dsr/dsr-export.174fc3c23c5c22638b47.js.map"],"egg/egg":["egg/egg.fb3515c1690e2cae5e8c.js","egg/egg.fb3515c1690e2cae5e8c.js.map"],"errors/bad-request":["errors/bad-request.9d43d66d4455bc87402c.js","errors/bad-request.9d43d66d4455bc87402c.js.map"],"errors/not-found":["errors/not-found.5b182f372a4109926bc8.js","errors/not-found.5b182f372a4109926bc8.js.map"],"errors/server":["errors/server.c3bee34a52de9d9eed1e.js","errors/server.c3bee34a52de9d9eed1e.js.map"],"errors/tea-pot":["errors/tea-pot.5cb72cd7dc554e64c1ab.js","errors/tea-pot.5cb72cd7dc554e64c1ab.js.map"],"errors/template":["errors/template.2e5d4f42b3c92bb2e39d.js","errors/template.2e5d4f42b3c92bb2e39d.js.map"],"flatpage/flatpage":["flatpage/flatpage.dbdf3aee3d0e9a4f24af.js","flatpage/flatpage.dbdf3aee3d0e9a4f24af.js.map"],"homepage/homepage":["homepage/homepage.d74ff1fa25ae7ffabd5a.js","homepage/homepage.d74ff1fa25ae7ffabd5a.js.map"],"homepage/homepage-logged-in":["homepage/homepage-logged-in.31d02f515a043b587940.js","homepage/homepage-logged-in.31d02f515a043b587940.js.map"],"orgs/create":["orgs/create.61367587031ff11524f3.js","orgs/create.61367587031ff11524f3.js.map"],"orgs/detail":["orgs/detail.0a3f5560d6f773c02ffb.js","orgs/detail.0a3f5560d6f773c02ffb.js.map"],"orgs/invite":["orgs/invite.36c6a834e6180038d239.js","orgs/invite.36c6a834e6180038d239.js.map"],"orgs/tfa-enforced":["orgs/tfa-enforced.7a1419669b17da615303.js","orgs/tfa-enforced.7a1419669b17da615303.js.map"],"orgs/upgrade":["orgs/upgrade.4fc93431021efb0301a8.js","orgs/upgrade.4fc93431021efb0301a8.js.map"],"package-list/package-list":["package-list/package-list.bc2b45ea652b14b0880a.js","package-list/package-list.bc2b45ea652b14b0880a.js.map"],"package/delete-package":["package/delete-package.1c943f4151f651a9d914.js","package/delete-package.1c943f4151f651a9d914.js.map"],"package/deprecate-package":["package/deprecate-package.7928c188cb2fd3833e7d.js","package/deprecate-package.7928c188cb2fd3833e7d.js.map"],"package/error-message-package":["package/error-message-package.c6888e3076240fafd221.js","package/error-message-package.c6888e3076240fafd221.js.map"],"package/package":["package/package.a2fa5feaa17da98559b8.js","package/package.a2fa5feaa17da98559b8.js.map"],"profile/profile":["profile/profile.f618802fee68fe52340f.js","profile/profile.f618802fee68fe52340f.js.map"],"recovery-codes/show":["recovery-codes/show.28c515a5443197f4812f.js","recovery-codes/show.28c515a5443197f4812f.js.map"],"search/search":["search/search.5a46360e3cd400c3248e.js","search/search.5a46360e3cd400c3248e.js.map"],"searchv2/search":["searchv2/search.e726f14a4423148814b2.js","searchv2/search.e726f14a4423148814b2.js.map"],"settings/change-password":["settings/change-password.e8caf7da7d5962a8da2f.js","settings/change-password.e8caf7da7d5962a8da2f.js.map"],"settings/delete-account":["settings/delete-account.3877618039c3be496091.js","settings/delete-account.3877618039c3be496091.js.map"],"settings/email":["settings/email.42743732ca56b6645326.js","settings/email.42743732ca56b6645326.js.map"],"settings/memberships":["settings/memberships.906ca82f28f826f46583.js","settings/memberships.906ca82f28f826f46583.js.map"],"settings/packages":["settings/packages.94be6f92f1f7f1cb8b76.js","settings/packages.94be6f92f1f7f1cb8b76.js.map"],"settings/profile":["settings/profile.d66f2314225501804707.js","settings/profile.d66f2314225501804707.js.map"],"teams/create":["teams/create.1fc5cf21646edb28d431.js","teams/create.1fc5cf21646edb28d431.js.map"],"teams/detail":["teams/detail.d488d469f98573142ff0.js","teams/detail.d488d469f98573142ff0.js.map"],"teams/list":["teams/list.6d4535d1cc967be63282.js","teams/list.6d4535d1cc967be63282.js.map"],"teams/packages":["teams/packages.c3c4001eb96702ac23d5.js","teams/packages.c3c4001eb96702ac23d5.js.map"],"teams/users":["teams/users.5f73fb06b09387231e95.js","teams/users.5f73fb06b09387231e95.js.map"],"tfa/additional-options":["tfa/additional-options.ef20d5b36fed1370f6dd.js","tfa/additional-options.ef20d5b36fed1370f6dd.js.map"],"tfa/enable":["tfa/enable.cb9ce3bdc28892507287.js","tfa/enable.cb9ce3bdc28892507287.js.map"],"tfa/list":["tfa/list.664d841f9a11c35bd330.js","tfa/list.664d841f9a11c35bd330.js.map"],"tfa/recovery-codes":["tfa/recovery-codes.5f726e90ac80f93d31c2.js","tfa/recovery-codes.5f726e90ac80f93d31c2.js.map"],"tfa/security-key-list":["tfa/security-key-list.71e755c7c36c784ba7e0.js","tfa/security-key-list.71e755c7c36c784ba7e0.js.map"],"tfa/showTFAQRCode":["tfa/showTFAQRCode.f2133ad4c232bd348c94.js","tfa/showTFAQRCode.f2133ad4c232bd348c94.js.map"],"tfa/showTFASuccess":["tfa/showTFASuccess.9ce7c8cbd7a0092ae913.js","tfa/showTFASuccess.9ce7c8cbd7a0092ae913.js.map"],"tfa/tfa-disable":["tfa/tfa-disable.3daa1160dce9349b47bd.js","tfa/tfa-disable.3daa1160dce9349b47bd.js.map"],"tfa/tfa-mode-selection":["tfa/tfa-mode-selection.51fa1545b9d82780c8fc.js","tfa/tfa-mode-selection.51fa1545b9d82780c8fc.js.map"],"tfa/tfa-password-entry":["tfa/tfa-password-entry.7631d86a14180a95c752.js","tfa/tfa-password-entry.7631d86a14180a95c752.js.map"],"tfa/totp":["tfa/totp.78eecd87c32c267b6e07.js","tfa/totp.78eecd87c32c267b6e07.js.map"],"tokens/create":["tokens/create.85f17c3c385308d52d64.js","tokens/create.85f17c3c385308d52d64.js.map"],"tokens/create-gat":["tokens/create-gat.2fed6ff29343d587a8a2.js","tokens/create-gat.2fed6ff29343d587a8a2.js.map"],"tokens/gat-details":["tokens/gat-details.44705fd6532f338329b0.js","tokens/gat-details.44705fd6532f338329b0.js.map"],"tokens/gat/allowed-ip-ranges-input":["tokens/gat/allowed-ip-ranges-input.5a4a53349bb50f9fad1f.js","tokens/gat/allowed-ip-ranges-input.5a4a53349bb50f9fad1f.js.map"],"tokens/gat/constants":["tokens/gat/constants.8a392a2d499d6b3ed1cd.js","tokens/gat/constants.8a392a2d499d6b3ed1cd.js.map"],"tokens/gat/divider":["tokens/gat/divider.7d7f1e1a8b95fd6b2aac.js","tokens/gat/divider.7d7f1e1a8b95fd6b2aac.js.map"],"tokens/gat/expiration-days-input":["tokens/gat/expiration-days-input.ad8b819768f63e218ff2.js","tokens/gat/expiration-days-input.ad8b819768f63e218ff2.js.map"],"tokens/gat/gat-expiration":["tokens/gat/gat-expiration.bf68e22935cc13e6cb07.js","tokens/gat/gat-expiration.bf68e22935cc13e6cb07.js.map"],"tokens/gat/gat-input":["tokens/gat/gat-input.482746d961379d11096f.js","tokens/gat/gat-input.482746d961379d11096f.js.map"],"tokens/gat/organizations-input":["tokens/gat/organizations-input.a3537d8aafbe36514c0c.js","tokens/gat/organizations-input.a3537d8aafbe36514c0c.js.map"],"tokens/gat/organizations-section":["tokens/gat/organizations-section.d6af923365c4e5918223.js","tokens/gat/organizations-section.d6af923365c4e5918223.js.map"],"tokens/gat/packages-and-scopes-input":["tokens/gat/packages-and-scopes-input.df891be53d1da5b97525.js","tokens/gat/packages-and-scopes-input.df891be53d1da5b97525.js.map"],"tokens/gat/packages-and-scopes-section":["tokens/gat/packages-and-scopes-section.e168d6076aae7639544d.js","tokens/gat/packages-and-scopes-section.e168d6076aae7639544d.js.map"],"tokens/gat/permissions-input":["tokens/gat/permissions-input.d4b040a6b1c3c0c7cf20.js","tokens/gat/permissions-input.d4b040a6b1c3c0c7cf20.js.map"],"tokens/gat/section":["tokens/gat/section.0c33f5608f031d26a611.js","tokens/gat/section.0c33f5608f031d26a611.js.map"],"tokens/gat/section-heading":["tokens/gat/section-heading.49f886f66d96ce131cd7.js","tokens/gat/section-heading.49f886f66d96ce131cd7.js.map"],"tokens/gat/selected-items":["tokens/gat/selected-items.95758f28465f9b200e6b.js","tokens/gat/selected-items.95758f28465f9b200e6b.js.map"],"tokens/gat/utils":["tokens/gat/utils.21bd1577ac4a108df9ea.js","tokens/gat/utils.21bd1577ac4a108df9ea.js.map"],"tokens/generate-token":["tokens/generate-token.8850c8d5dbfde716e107.js","tokens/generate-token.8850c8d5dbfde716e107.js.map"],"tokens/list":["tokens/list.d68e41c2141902326b66.js","tokens/list.d68e41c2141902326b66.js.map"],"vouchers/view":["vouchers/view.937b796376045749f937.js","vouchers/view.937b796376045749f937.js.map"]},"hash":"74d74467fb70cd5401ce","name":"searchv2/search","containerId":"app","headerName":"x-spiferack","publicPath":"https://static-production.npmjs.com/"}</script><script crossorigin="anonymous" src="https://static-production.npmjs.com/commons.74d74467fb70cd5401ce.js"></script> <script crossorigin="anonymous" src="https://static-production.npmjs.com/minicssextractbug.d66d46708dd01c18fc7a.js"></script> <script crossorigin="anonymous" src="https://static-production.npmjs.com/searchv2/search.e726f14a4423148814b2.js"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10