From c24e921b28f9de6d5b5f5fa4ec58acfcaf553251 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Sat, 7 Aug 2021 16:46:53 +0200 Subject: [PATCH] :bug: fix gateway endpoint --- package-lock.json | Bin 674205 -> 677545 bytes package.json | 2 +- src/Server.ts | 5 ++++- src/middlewares/RateLimit.ts | 6 +++--- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 44edadbba8dbb32aa6705c33d7f706850a1013ba..fc8bff16bd2c6455a0d236f3c8ad6db082c7b791 100644 GIT binary patch delta 10657 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 diff --git a/package.json b/package.json index 15aa8b04..eb2ac2e9 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ }, "homepage": "https://github.com/fosscord/fosscord-api#readme", "dependencies": { - "@fosscord/server-util": "^1.3.37", + "@fosscord/server-util": "^1.3.38", "@types/jest": "^26.0.22", "@types/json-schema": "^7.0.7", "ajv": "^8.4.0", diff --git a/src/Server.ts b/src/Server.ts index aa66b5b6..49bb2398 100644 --- a/src/Server.ts +++ b/src/Server.ts @@ -165,7 +165,10 @@ export class FosscordServer extends Server { /CDN_HOST: ".+"/, `CDN_HOST: "${(Config.get().cdn.endpoint || "http://localhost:3003").replace(/https?:/, "")}"` ) - .replace(/GATEWAY_ENDPOINT: ".+"/, `GATEWAY_ENDPOINT: "${Config.get().gateway.endpoint || "ws://localhost:3002"}"`) + .replace( + /GATEWAY_ENDPOINT: ".+"/, + `GATEWAY_ENDPOINT: "${Config.get().gateway.endpoint || process.env.GATEWAY || "ws://localhost:3002"}"` + ) ); }); return super.start(); diff --git a/src/middlewares/RateLimit.ts b/src/middlewares/RateLimit.ts index 89e002df..088c3161 100644 --- a/src/middlewares/RateLimit.ts +++ b/src/middlewares/RateLimit.ts @@ -1,5 +1,5 @@ import { db, MongooseCache, Bucket } from "@fosscord/server-util"; -import { NextFunction, Request, Response } from "express"; +import { IRouterHandler, NextFunction, Request, Response } from "express"; import { getIpAdress } from "../util/ipAddress"; import { API_PREFIX_TRAILING_SLASH } from "./Authentication"; @@ -43,10 +43,10 @@ export default function RateLimit(opts: { error?: boolean; success?: boolean; onylIp?: boolean; -}) { +}): any { Cache.init(); // will only initalize it once - return async (req: Request, res: Response, next: NextFunction) => { + return async (req: Request, res: Response, next: NextFunction): Promise => { const bucket_id = opts.bucket || req.originalUrl.replace(API_PREFIX_TRAILING_SLASH, ""); var user_id = getIpAdress(req); if (!opts.onylIp && req.user_id) user_id = req.user_id;