25 lines
912 B
TypeScript
25 lines
912 B
TypeScript
import { Hono } from "hono";
|
|
import { timing } from "hono/timing";
|
|
import { Variables } from "hono/types";
|
|
import { pingHandler } from "routes/ping";
|
|
import { logger } from "middleware/logger.ts";
|
|
import { corsMiddleware } from "@/middleware/cors";
|
|
import { contentType } from "middleware/contentType.ts";
|
|
import { captchaMiddleware } from "middleware/captcha.ts";
|
|
import { bodyLimitForPing } from "middleware/bodyLimits.ts";
|
|
import { registerRateLimiter } from "middleware/rateLimiters.ts";
|
|
import { preetifyResponse } from "middleware/preetifyResponse.ts";
|
|
|
|
export function configureMiddleWares(app: Hono<{ Variables: Variables }>) {
|
|
app.use("*", corsMiddleware);
|
|
|
|
app.use("*", contentType);
|
|
app.use(timing());
|
|
app.use("*", preetifyResponse);
|
|
app.use("*", logger({}));
|
|
|
|
app.post("/user", registerRateLimiter);
|
|
app.post("/user", captchaMiddleware);
|
|
app.all("/ping", bodyLimitForPing, ...pingHandler);
|
|
}
|