X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fthymeproxy%2FApplication.java;h=a9831ba9af35867958b99a1fe63e7fd22c425ea2;hb=79868862ded7c6d885a105ca02f41d4358ade8f3;hp=c0293cd1cc0180f19760a46072fabe4725cb5a54;hpb=97326cdf207133f9aba1a73c8a755aca7f1bf0da;p=maven-thymeleaf-skin diff --git a/src/main/java/de/juplo/thymeproxy/Application.java b/src/main/java/de/juplo/thymeproxy/Application.java index c0293cd..a9831ba 100644 --- a/src/main/java/de/juplo/thymeproxy/Application.java +++ b/src/main/java/de/juplo/thymeproxy/Application.java @@ -1,6 +1,5 @@ package de.juplo.thymeproxy; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import org.apache.http.impl.client.CloseableHttpClient; @@ -9,32 +8,35 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.core.Ordered; import org.springframework.core.env.Environment; -import org.springframework.web.HttpRequestHandler; -import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping; +import org.springframework.web.servlet.mvc.UrlFilenameViewController; +import org.thymeleaf.resourceresolver.IResourceResolver; +import org.thymeleaf.resourceresolver.UrlResourceResolver; +import org.thymeleaf.templateresolver.TemplateResolver; @SpringBootApplication public class Application { @Bean - public SimpleUrlHandlerMapping proxiedHandlerMapping( - ProxyHttpRequestHandler handler + public RegexUrlHandlerMapping proxiedHandlerMapping( + ProxyHttpRequestHandler proxy, + UrlFilenameViewController views ) { - SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping(); + RegexUrlHandlerMapping mapping = new RegexUrlHandlerMapping(); mapping.setOrder(Ordered.HIGHEST_PRECEDENCE); - Map mappings = new HashMap<>(); - mappings.put("/*.html", handler); - mappings.put("/*/", handler); - mappings.put("/*/*.html", handler); - mappings.put("/**/", handler); - mappings.put("/**/*.html", handler); + Map mappings = new HashMap<>(); + mappings.put("/thymeleaf/.*\\.html", proxy); + mappings.put("/css/.+", proxy); + mappings.put("/js/.+", proxy); + mappings.put("/fonts/.+", proxy); + mappings.put(".*\\.html", views); mapping.setUrlMap(mappings); return mapping; } @Bean - public ProxyHttpRequestHandler proxiedRequestHandler( + public ProxyHttpRequestHandler proxyHttpRequestHandler( CloseableHttpClient client, Environment env ) @@ -46,6 +48,12 @@ public class Application return handler; } + @Bean + public UrlFilenameViewController urlFilenameViewController() + { + return new UrlFilenameViewController(); + } + public static void main(String[] args) {