/[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 348 by rakin, Mon Jul 29 17:29:43 2024 UTC revision 393 by rakin, Mon Jul 29 17:29:59 2024 UTC
# Line 1  Line 1 
1    /**
2    * This file is part of SudoBot.
3    *
4    * Copyright (C) 2021-2022 OSN Inc.
5    *
6    * SudoBot is free software; you can redistribute it and/or modify it
7    * under the terms of the GNU Affero General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10    *
11    * SudoBot is distributed in the hope that it will be useful, but
12    * WITHOUT ANY WARRANTY; without even the implied warranty of
13    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14    * GNU Affero General Public License for more details.
15    *
16    * You should have received a copy of the GNU Affero General Public License
17    * along with SudoBot. If not, see <https://www.gnu.org/licenses/>.
18    */
19    
20  import DiscordClient from "../client/Client";  import DiscordClient from "../client/Client";
21  import Service from "../utils/structures/Service";  import Service from "../utils/structures/Service";
22  import express, { Express, Router as ExpressRouter } from 'express';  import express, { Express, Router as ExpressRouter } from 'express';
23  import Router from "./Router";  import Router from "./Router";
24  import path from "path";  import path from "path";
25  import rateLimit from 'express-rate-limit';  import rateLimit from 'express-rate-limit';
26    import cors from 'cors';
27    
28  export interface ServerOptions {  export interface ServerOptions {
29      port?: number;      port?: number;
# Line 25  export default class Server extends Serv Line 45  export default class Server extends Serv
45          type methods = 'get' | 'post' | 'put' | 'patch' | 'delete';          type methods = 'get' | 'post' | 'put' | 'patch' | 'delete';
46          const expressRouter = ExpressRouter();          const expressRouter = ExpressRouter();
47    
48            expressRouter.use(cors());
49    
50          expressRouter.use(rateLimit({          expressRouter.use(rateLimit({
51              windowMs: 1 * 60 * 1000,              windowMs: 1 * 60 * 1000,
52              max: 50,              max: 50,
# Line 39  export default class Server extends Serv Line 61  export default class Server extends Serv
61          await this.router.loadRoutes();          await this.router.loadRoutes();
62    
63          for (const route of this.router.routes) {                      for (const route of this.router.routes) {            
64              console.log(route.callback[1], route.callback[0].middleware()[route.callback[1]]);                          // console.log(route.callback[1], route.callback[0].middleware()[route.callback[1]]);            
65              expressRouter[route.method.toLowerCase() as methods](route.path, ...(route.callback[0].middleware()[route.callback[1]] as any[] ?? []), ...route.middlewareList as any[], await route.getCallbackFunction());              expressRouter[route.method.toLowerCase() as methods](route.path, ...(route.callback[0].middleware()[route.callback[1]] as any[] ?? []), ...route.middlewareList as any[], await route.getCallbackFunction());
66          }          }
67    

Legend:
Removed from v.348  
changed lines
  Added in v.393

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26