From 05204f87da6aec10ff914fb29320496e15e0c1fe Mon Sep 17 00:00:00 2001 From: delcroip Date: Fri, 21 Jul 2023 10:40:26 +0200 Subject: [PATCH 1/3] add relaxedquery --- pom.xml | 6 ++++- .../jpa/starter/common/StarterJpaConfig.java | 25 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1fc9a25f8..554ba6f35 100644 --- a/pom.xml +++ b/pom.xml @@ -203,7 +203,11 @@ - + + org.apache.tomcat + tomcat-catalina + 9.0.78 + diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java b/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java index 77af694d7..1c33b224f 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java @@ -66,6 +66,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer; +import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; +import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.*; import org.springframework.core.env.ConfigurableEnvironment; @@ -73,6 +76,7 @@ import org.springframework.orm.jpa.JpaTransactionManager; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.web.cors.CorsConfiguration; +import org.apache.catalina.connector.Connector; import javax.persistence.EntityManagerFactory; import javax.sql.DataSource; @@ -91,6 +95,27 @@ public class StarterJpaConfig { private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(StarterJpaConfig.class); + private static class EmbeddedTomcatCustomizer + implements WebServerFactoryCustomizer { + @Override + public void customize(TomcatServletWebServerFactory factory) { + factory.addConnectorCustomizers(new TomcatConnectorCustomizer() { + @Override + public void customize(Connector connector) { + connector.setAttribute("relaxedPathChars", "<>[\\]^`{|}"); + connector.setAttribute("relaxedQueryChars", "<>[\\]^`{|}"); + } + }); + } + } + + @Bean + public WebServerFactoryCustomizer + containerCustomizer(){ + return new EmbeddedTomcatCustomizer(); + } + + @Bean public IFulltextSearchSvc fullTextSearchSvc() { return new FulltextSearchSvcImpl(); From 240826e5d5d2f957e6b30986f4b0f9ee0ff22cbb Mon Sep 17 00:00:00 2001 From: Patrick Delcroix Date: Fri, 21 Jul 2023 13:53:53 +0200 Subject: [PATCH 2/3] relaxedQuery in server.xml --- server.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/server.xml b/server.xml index 86a0ae3d9..b6447b1d6 100644 --- a/server.xml +++ b/server.xml @@ -42,6 +42,7 @@ From 04914b1c5cc84efac2f1bd0079670f792cdf8099 Mon Sep 17 00:00:00 2001 From: Patrick Delcroix Date: Sat, 22 Jul 2023 19:30:50 +0200 Subject: [PATCH 3/3] remove relax path --- .../java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java b/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java index 1c33b224f..5f2be9e6c 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java @@ -102,7 +102,6 @@ public void customize(TomcatServletWebServerFactory factory) { factory.addConnectorCustomizers(new TomcatConnectorCustomizer() { @Override public void customize(Connector connector) { - connector.setAttribute("relaxedPathChars", "<>[\\]^`{|}"); connector.setAttribute("relaxedQueryChars", "<>[\\]^`{|}"); } });