From f61b3bb4eb6ee1369bb8ff3fdaab10807fa6e80d Mon Sep 17 00:00:00 2001 From: kan Date: Mon, 17 Mar 2025 13:02:50 +0400 Subject: [PATCH] problem: content-type and status are set incorrectly in spring-web --- .../emeraldpay/doubleview/spring/web/DoubleView.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/doubleview-spring-web/src/main/java/io/emeraldpay/doubleview/spring/web/DoubleView.java b/doubleview-spring-web/src/main/java/io/emeraldpay/doubleview/spring/web/DoubleView.java index 6d9f3cb..7651a4f 100644 --- a/doubleview-spring-web/src/main/java/io/emeraldpay/doubleview/spring/web/DoubleView.java +++ b/doubleview-spring-web/src/main/java/io/emeraldpay/doubleview/spring/web/DoubleView.java @@ -1,6 +1,7 @@ package io.emeraldpay.doubleview.spring.web; import io.emeraldpay.doubleview.DoubleViewRenderer; +import jakarta.servlet.RequestDispatcher; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.http.MediaType; @@ -20,13 +21,18 @@ public DoubleView(DoubleViewRenderer renderer, String componentName) { @Override public String getContentType() { - return MediaType.TEXT_HTML.getType(); + return MediaType.TEXT_HTML_VALUE; } @Override public void render(Map model, HttpServletRequest request, HttpServletResponse response) throws Exception { String rendered = renderer.render(componentName, (Map) model); - response.setStatus(200); + Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE); + if (status != null && status instanceof Integer) { + response.setStatus((int) status); + } else { + response.setStatus(200); + } response.getOutputStream().write(rendered.getBytes()); }