diff --git a/packages/backend/src/core/HttpRequestService.ts b/packages/backend/src/core/HttpRequestService.ts index 7e52b80cb0..083153940a 100644 --- a/packages/backend/src/core/HttpRequestService.ts +++ b/packages/backend/src/core/HttpRequestService.ts @@ -283,7 +283,6 @@ export class HttpRequestService { }, ): Promise { const timeout = args.timeout ?? 5000; - const decodedUrl = decodeURIComponent(url); const controller = new AbortController(); setTimeout(() => { @@ -292,7 +291,7 @@ export class HttpRequestService { const isLocalAddressAllowed = args.isLocalAddressAllowed ?? false; - const res = await fetch(decodedUrl, { + const res = await fetch(url, { method: args.method ?? 'GET', headers: { 'User-Agent': this.config.userAgent, @@ -300,7 +299,7 @@ export class HttpRequestService { }, body: args.body, size: args.size ?? 10 * 1024 * 1024, - agent: (decodedUrl) => this.getAgentByUrl(decodedUrl, false, isLocalAddressAllowed), + agent: (url) => this.getAgentByUrl(url, false, isLocalAddressAllowed), signal: controller.signal, }); diff --git a/packages/backend/src/server/api/endpoints/fetch-rss.ts b/packages/backend/src/server/api/endpoints/fetch-rss.ts index 562092ea07..c941657493 100644 --- a/packages/backend/src/server/api/endpoints/fetch-rss.ts +++ b/packages/backend/src/server/api/endpoints/fetch-rss.ts @@ -7,7 +7,6 @@ import Parser from 'rss-parser'; import { Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; import { HttpRequestService } from '@/core/HttpRequestService.js'; -import { URL } from 'url'; const rssParser = new Parser(); @@ -220,7 +219,7 @@ export default class extends Endpoint { // eslint- private httpRequestService: HttpRequestService, ) { super(meta, paramDef, async (ps, me) => { - const res = await this.httpRequestService.send(ps.url, { + const res = await this.httpRequestService.send(decodeURIComponent(ps.url), { method: 'GET', headers: { Accept: 'application/rss+xml, */*',