Add URL→PDF endpoint, usage tracking middleware, free tier limits
This commit is contained in:
parent
8e03b8ab3c
commit
6896b72e0c
5 changed files with 158 additions and 4 deletions
12
src/index.ts
12
src/index.ts
|
|
@ -7,6 +7,8 @@ import { convertRouter } from "./routes/convert.js";
|
|||
import { templatesRouter } from "./routes/templates.js";
|
||||
import { healthRouter } from "./routes/health.js";
|
||||
import { authMiddleware } from "./middleware/auth.js";
|
||||
import { usageMiddleware } from "./middleware/usage.js";
|
||||
import { getUsageStats } from "./middleware/usage.js";
|
||||
import { initBrowser, closeBrowser } from "./services/browser.js";
|
||||
|
||||
const app = express();
|
||||
|
|
@ -29,8 +31,13 @@ app.use(limiter);
|
|||
app.use("/health", healthRouter);
|
||||
|
||||
// Authenticated
|
||||
app.use("/v1/convert", authMiddleware, convertRouter);
|
||||
app.use("/v1/templates", authMiddleware, templatesRouter);
|
||||
app.use("/v1/convert", authMiddleware, usageMiddleware, convertRouter);
|
||||
app.use("/v1/templates", authMiddleware, usageMiddleware, templatesRouter);
|
||||
|
||||
// Admin: usage stats (protected by auth)
|
||||
app.get("/v1/usage", authMiddleware, (_req, res) => {
|
||||
res.json(getUsageStats());
|
||||
});
|
||||
|
||||
// Landing page
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
|
|
@ -45,6 +52,7 @@ app.get("/api", (_req, res) => {
|
|||
endpoints: [
|
||||
"POST /v1/convert/html",
|
||||
"POST /v1/convert/markdown",
|
||||
"POST /v1/convert/url",
|
||||
"POST /v1/templates/:id/render",
|
||||
"GET /v1/templates",
|
||||
],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue