/[sudobot]/trunk/src/api/Server.ts
ViewVC logotype

Diff of /trunk/src/api/Server.ts

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 324 by rakin, Mon Jul 29 17:29:32 2024 UTC revision 367 by rakin, Mon Jul 29 17:29:49 2024 UTC
# Line 3  import Service from "../utils/structures Line 3  import Service from "../utils/structures
3  import express, { Express, Router as ExpressRouter } from 'express';  import express, { Express, Router as ExpressRouter } from 'express';
4  import Router from "./Router";  import Router from "./Router";
5  import path from "path";  import path from "path";
6    import rateLimit from 'express-rate-limit';
7    import cors from 'cors';
8    
9  export interface ServerOptions {  export interface ServerOptions {
10      port?: number;      port?: number;
# Line 24  export default class Server extends Serv Line 26  export default class Server extends Serv
26          type methods = 'get' | 'post' | 'put' | 'patch' | 'delete';          type methods = 'get' | 'post' | 'put' | 'patch' | 'delete';
27          const expressRouter = ExpressRouter();          const expressRouter = ExpressRouter();
28    
29            expressRouter.use(cors());
30    
31            expressRouter.use(rateLimit({
32                windowMs: 1 * 60 * 1000,
33                max: 50,
34                standardHeaders: true,
35                legacyHeaders: true,
36                message: { code: 429, error: 'Too many requests at a time. Please try again later.' },
37            }));
38    
39            expressRouter.use(express.json());
40            expressRouter.use(express.urlencoded({ extended: true }));
41    
42          await this.router.loadRoutes();          await this.router.loadRoutes();
43    
44          for (const route of this.router.routes) {          for (const route of this.router.routes) {            
45              expressRouter[route.method.toLowerCase() as methods](route.path, ...route.middlewareList, route.getCallbackFunction());              // console.log(route.callback[1], route.callback[0].middleware()[route.callback[1]]);            
46                expressRouter[route.method.toLowerCase() as methods](route.path, ...(route.callback[0].middleware()[route.callback[1]] as any[] ?? []), ...route.middlewareList as any[], await route.getCallbackFunction());
47          }          }
48    
49          this.express.use(expressRouter);          this.express.use(expressRouter);

Legend:
Removed from v.324  
changed lines
  Added in v.367

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26