Merge pull request '[feat] Replace Koa-FavICO with a smaller router' (#9853) from daikei/calckey:modularize-favico into develop

Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9853
This commit is contained in:
Kainoa Kanter 2023-04-14 22:33:49 +00:00
commit 4f6cae7643
2 changed files with 7 additions and 5 deletions

View File

@ -75,7 +75,6 @@
"koa": "2.13.4", "koa": "2.13.4",
"koa-body": "^6.0.1", "koa-body": "^6.0.1",
"koa-bodyparser": "4.3.0", "koa-bodyparser": "4.3.0",
"koa-favicon": "2.1.0",
"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",

View File

@ -8,13 +8,11 @@ import { readFileSync } from "node:fs";
import Koa from "koa"; import Koa from "koa";
import Router from "@koa/router"; import Router from "@koa/router";
import send from "koa-send"; import send from "koa-send";
import favicon from "koa-favicon";
import views from "koa-views"; import views from "koa-views";
import sharp from "sharp"; import sharp from "sharp";
import { createBullBoard } from "@bull-board/api"; import { createBullBoard } from "@bull-board/api";
import { BullAdapter } from "@bull-board/api/bullAdapter.js"; import { BullAdapter } from "@bull-board/api/bullAdapter.js";
import { KoaAdapter } from "@bull-board/koa"; import { KoaAdapter } from "@bull-board/koa";
import { In, IsNull } from "typeorm"; import { In, IsNull } from "typeorm";
import { fetchMeta } from "@/misc/fetch-meta.js"; import { fetchMeta } from "@/misc/fetch-meta.js";
import config from "@/config/index.js"; import config from "@/config/index.js";
@ -98,8 +96,13 @@ app.use(
}), }),
); );
// Serve favicon // Favicon Router
app.use(favicon(`${_dirname}/../../../assets/favicon.ico`)); app.use(async (ctx, next) => {
if (ctx.path != '/favicon.ico') return next()
const meta = await fetchMeta();
if (meta.iconUrl === "") ctx.body = readFileSync(`${_dirname}/../../../assets/favicon.ico`);
else ctx.redirect(meta.iconUrl)
})
// Common request handler // Common request handler
app.use(async (ctx, next) => { app.use(async (ctx, next) => {