[Fix] Properly replace koa-fix-trailing-slashes with inhouse script (#9870)
This follows up #9869, with an awaited ``next()``, fixing the script. > I'm looking to remove another 5kb package, replacing it with an in-house script. The commit i'm proposing translates the entire job of koa-remove-trailing-slashes into a 206 byte script that gets the job done well. (just to show the code does work) ![](https://s3.kitsunes.club/storage/41c7854d-d01e-4f4c-94dd-8b651e2d7367.gif) Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9870 Co-authored-by: daikei <daikei@noreply.codeberg.org> Co-committed-by: daikei <daikei@noreply.codeberg.org>
This commit is contained in:
parent
9b0a3b2187
commit
2cdaad588c
|
@ -78,7 +78,6 @@
|
||||||
"koa-json-body": "5.3.0",
|
"koa-json-body": "5.3.0",
|
||||||
"koa-logger": "3.2.1",
|
"koa-logger": "3.2.1",
|
||||||
"koa-mount": "4.0.0",
|
"koa-mount": "4.0.0",
|
||||||
"koa-remove-trailing-slashes": "2.0.3",
|
|
||||||
"koa-send": "5.0.1",
|
"koa-send": "5.0.1",
|
||||||
"koa-slow": "2.1.0",
|
"koa-slow": "2.1.0",
|
||||||
"koa-views": "7.0.2",
|
"koa-views": "7.0.2",
|
||||||
|
|
|
@ -10,7 +10,6 @@ import Router from "@koa/router";
|
||||||
import mount from "koa-mount";
|
import mount from "koa-mount";
|
||||||
import koaLogger from "koa-logger";
|
import koaLogger from "koa-logger";
|
||||||
import * as slow from "koa-slow";
|
import * as slow from "koa-slow";
|
||||||
|
|
||||||
import { IsNull } from "typeorm";
|
import { IsNull } from "typeorm";
|
||||||
import config from "@/config/index.js";
|
import config from "@/config/index.js";
|
||||||
import Logger from "@/services/logger.js";
|
import Logger from "@/services/logger.js";
|
||||||
|
@ -30,7 +29,6 @@ import proxyServer from "./proxy/index.js";
|
||||||
import webServer from "./web/index.js";
|
import webServer from "./web/index.js";
|
||||||
import { initializeStreamingServer } from "./api/streaming.js";
|
import { initializeStreamingServer } from "./api/streaming.js";
|
||||||
import { koaBody } from "koa-body";
|
import { koaBody } from "koa-body";
|
||||||
import removeTrailingSlash from "koa-remove-trailing-slashes";
|
|
||||||
import { v4 as uuid } from "uuid";
|
import { v4 as uuid } from "uuid";
|
||||||
|
|
||||||
export const serverLogger = new Logger("server", "gray", false);
|
export const serverLogger = new Logger("server", "gray", false);
|
||||||
|
@ -39,7 +37,11 @@ export const serverLogger = new Logger("server", "gray", false);
|
||||||
const app = new Koa();
|
const app = new Koa();
|
||||||
app.proxy = true;
|
app.proxy = true;
|
||||||
|
|
||||||
app.use(removeTrailingSlash());
|
// Replace trailing slashes
|
||||||
|
app.use(async (ctx, next) => {
|
||||||
|
if (ctx.request.path !== "/" && ctx.request.path.endsWith('/')) return ctx.redirect(ctx.request.path.replace(/\/$/, ""))
|
||||||
|
else await next()
|
||||||
|
});
|
||||||
|
|
||||||
if (!["production", "test"].includes(process.env.NODE_ENV || "")) {
|
if (!["production", "test"].includes(process.env.NODE_ENV || "")) {
|
||||||
// Logger
|
// Logger
|
||||||
|
|
Loading…
Reference in New Issue