From 341a5e932cd2a19f76c47f3d4286f0a45cf5f6e7 Mon Sep 17 00:00:00 2001 From: guqing <1484563614@qq.com> Date: Mon, 16 Dec 2024 17:10:16 +0800 Subject: [PATCH] fix: change rss response encoding from us-ascii to utf8 --- .../run/halo/feed/FeedPluginEndpoint.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/run/halo/feed/FeedPluginEndpoint.java b/app/src/main/java/run/halo/feed/FeedPluginEndpoint.java index 5b79b79..799829d 100644 --- a/app/src/main/java/run/halo/feed/FeedPluginEndpoint.java +++ b/app/src/main/java/run/halo/feed/FeedPluginEndpoint.java @@ -1,5 +1,9 @@ package run.halo.feed; +import static org.springframework.web.reactive.function.server.RequestPredicates.accept; +import static org.springframework.web.reactive.function.server.RequestPredicates.path; + +import java.util.ArrayList; import lombok.AllArgsConstructor; import lombok.Builder; import org.apache.commons.lang3.StringUtils; @@ -10,17 +14,17 @@ import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatcher; import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatchers; import org.springframework.stereotype.Component; -import org.springframework.web.reactive.function.server.*; +import org.springframework.web.reactive.function.server.HandlerFunction; +import org.springframework.web.reactive.function.server.RequestPredicate; +import org.springframework.web.reactive.function.server.RouterFunction; +import org.springframework.web.reactive.function.server.RouterFunctions; +import org.springframework.web.reactive.function.server.ServerRequest; +import org.springframework.web.reactive.function.server.ServerResponse; import reactor.core.publisher.Mono; import run.halo.app.infra.ExternalUrlSupplier; import run.halo.app.plugin.extensionpoint.ExtensionGetter; import run.halo.feed.provider.PostRssProvider; -import java.util.ArrayList; - -import static org.springframework.web.reactive.function.server.RequestPredicates.accept; -import static org.springframework.web.reactive.function.server.RequestPredicates.path; - @Component @AllArgsConstructor public class FeedPluginEndpoint { @@ -145,7 +149,8 @@ private String buildPathPattern(String pathPattern, String namespace) { } private Mono buildResponse(String xml) { - return ServerResponse.ok().contentType(MediaType.TEXT_XML) + // https://www.rssboard.org/rss-validator/docs/warning/EncodingMismatch.html + return ServerResponse.ok().contentType(MediaType.APPLICATION_XML) .bodyValue(xml); } }