From 5c3711cbcc58eaba32fbf08b17094b3378b37e23 Mon Sep 17 00:00:00 2001 From: Henry Wang Date: Wed, 17 Apr 2024 19:10:33 +0100 Subject: [PATCH] feat: support .rss3 output type (#15258) Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com> --- lib/middleware/template.tsx | 7 ++++--- lib/utils/render.ts | 2 +- lib/views/{rss3-ums.ts => rss3.ts} | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) rename lib/views/{rss3-ums.ts => rss3.ts} (97%) diff --git a/lib/middleware/template.tsx b/lib/middleware/template.tsx index 069fd5090..4262b9716 100644 --- a/lib/middleware/template.tsx +++ b/lib/middleware/template.tsx @@ -1,4 +1,4 @@ -import { rss3Ums, json, RSS, Atom } from '@/utils/render'; +import { rss3, json, RSS, Atom } from '@/utils/render'; import { config } from '@/config'; import { collapseWhitespace, convertDateToISO8601 } from '@/utils/common-utils'; import type { MiddlewareHandler } from 'hono'; @@ -94,8 +94,9 @@ const middleware: MiddlewareHandler = async (ctx, next) => { return ctx.json(result); } - if (outputType === 'ums') { - return ctx.json(rss3Ums(result)); + // retain .ums for backward compatibility + if (outputType === 'ums' || outputType === 'rss3') { + return ctx.json(rss3(result)); } else if (outputType === 'json') { ctx.header('Content-Type', 'application/feed+json; charset=UTF-8'); return ctx.body(json(result)); diff --git a/lib/utils/render.ts b/lib/utils/render.ts index d04339d99..2bae59f1d 100644 --- a/lib/utils/render.ts +++ b/lib/utils/render.ts @@ -1,4 +1,4 @@ -export { default as rss3Ums } from '@/views/rss3-ums'; +export { default as rss3 } from '@/views/rss3'; export { default as json } from '@/views/json'; export { default as RSS } from '@/views/rss'; export { default as Atom } from '@/views/atom'; diff --git a/lib/views/rss3-ums.ts b/lib/views/rss3.ts similarity index 97% rename from lib/views/rss3-ums.ts rename to lib/views/rss3.ts index 6f932c0b7..eb5c27613 100644 --- a/lib/views/rss3-ums.ts +++ b/lib/views/rss3.ts @@ -10,7 +10,7 @@ const NETWORK = 'RSS'; const TAG = 'RSS'; const TYPE = 'feed'; -const rss3Ums = (data) => { +const rss3 = (data) => { const currentUnixTsp = dayjs().unix(); const umsResult = { data: data.item.map((item) => { @@ -59,4 +59,4 @@ function getOwnershipFieldFromURL(item) { } } -export default rss3Ums; +export default rss3;