chore: update dependencies

This commit is contained in:
tdurieux
2024-03-27 11:40:33 +00:00
parent 0caf786c9c
commit 829720b131
5 changed files with 3438 additions and 3416 deletions

View File

@@ -3,7 +3,6 @@ import AnonymousError from "../AnonymousError";
import * as db from "../database/database";
import UserModel from "../database/users/users.model";
import User from "../User";
import * as io from "@pm2/io";
export async function getPullRequest(
req: express.Request,
@@ -76,7 +75,6 @@ export function isOwnerOrAdmin(authorizedUsers: string[], user: User) {
}
function printError(error: any, req?: express.Request) {
io.notifyError(error, error.value);
if (error instanceof AnonymousError) {
let message = `[ERROR] ${error.toString()} ${error.stack
?.split("\n")[1]

View File

@@ -2,7 +2,7 @@ import { createClient } from "redis";
import { resolve, join } from "path";
import { existsSync } from "fs";
import rateLimit from "express-rate-limit";
import * as slowDown from "express-slow-down";
import { slowDown } from "express-slow-down";
import RedisStore from "rate-limit-redis";
import * as express from "express";
import * as compression from "compression";
@@ -71,7 +71,7 @@ export default async function start() {
return request.socket.remoteAddress;
}
// remove port number from IPv4 addresses
return request.ip.replace(/:\d+[^:]*$/, "");
return (request.ip || "").replace(/:\d+[^:]*$/, "");
}
const rate = rateLimit({
@@ -79,10 +79,18 @@ export default async function start() {
sendCommand: (...args: string[]) => redisClient.sendCommand(args),
}),
windowMs: 15 * 60 * 1000, // 15 minutes
skip: async (request: express.Request, response: express.Response) => {
try {
const user = await getUser(request);
if (user && user.isAdmin) return true;
} catch (_) {
// ignore: user not connected
}
return false;
},
max: async (request: express.Request, response: express.Response) => {
try {
const user = await getUser(request);
if (user && user.isAdmin) return 0;
if (user) return config.RATE_LIMIT;
} catch (_) {
// ignore: user not connected
@@ -100,17 +108,15 @@ export default async function start() {
const speedLimiter = slowDown({
windowMs: 15 * 60 * 1000, // 15 minutes
delayAfter: 50,
delayMs: 150,
delayMs: () => 150,
maxDelayMs: 5000,
headers: true,
keyGenerator,
});
const webViewSpeedLimiter = slowDown({
windowMs: 15 * 60 * 1000, // 15 minutes
delayAfter: 200,
delayMs: 150,
delayMs: () => 150,
maxDelayMs: 5000,
headers: true,
keyGenerator,
});

View File

@@ -5,7 +5,7 @@ import {
PutObjectCommandInput,
S3,
} from "@aws-sdk/client-s3";
import { NodeHttpHandler } from "@aws-sdk/node-http-handler";
import { NodeHttpHandler } from "@smithy/node-http-handler";
import config from "../../config";
import { pipeline, Readable, Transform } from "stream";
import ArchiveStreamToS3 from "decompress-stream-to-s3";
@@ -40,6 +40,7 @@ export default class S3Storage implements StorageBase {
requestHandler: new NodeHttpHandler({
requestTimeout: timeout,
connectionTimeout: timeout,
}),
});
}