~/کدولاگ
→ بررسی اجمالی پروژه
یک REST API با محدودیت نرخ در Node.js

بخش ۱: اسکلت پروژه

راه‌اندازی یک سرویس Express + TypeScript با یک زنجیره‌ی میان‌افزار تمیز که بعداً محدودکننده را در آن جا می‌دهیم.

داریم یک API کوچک می‌سازیم و بعد آن را با یک محدودکننده‌ی نرخ واقعی محافظت می‌کنیم. این بخش تماماً زیرساخت است: یک اپ Express تایپ‌شده با ترتیب میان‌افزار منطقی.

نصب

npm init -y
npm i express
npm i -D typescript @types/express tsx
npx tsc --init

اسکلت اپ

import express from "express"

const app = express()
app.use(express.json())

app.get("/api/quote", (_req, res) => {
  res.json({ quote: "Make it work, make it right, make it fast." })
})

app.listen(3000, () => console.log("up on :3000"))

آن را با npx tsx watch src/index.ts اجرا کنید. در بخش دوم، یک محدودکننده‌ی token bucket پیاده‌سازی و به‌عنوان میان‌افزار نصب می‌کنیم.