1 package de.juplo.thymeproxy;
3 import java.util.Collections;
4 import java.util.HashMap;
6 import org.apache.http.impl.client.CloseableHttpClient;
7 import org.springframework.boot.SpringApplication;
8 import org.springframework.boot.autoconfigure.SpringBootApplication;
9 import org.springframework.context.annotation.Bean;
10 import org.springframework.core.Ordered;
11 import org.springframework.core.env.Environment;
12 import org.springframework.web.HttpRequestHandler;
13 import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping;
16 @SpringBootApplication
17 public class Application
20 public SimpleUrlHandlerMapping proxiedHandlerMapping(
21 ProxyHttpRequestHandler handler
24 SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
25 mapping.setOrder(Ordered.HIGHEST_PRECEDENCE);
26 Map<String, HttpRequestHandler> mappings = new HashMap<>();
27 mappings.put("/*.html", handler);
28 mappings.put("/*/", handler);
29 mappings.put("/*/*.html", handler);
30 mappings.put("/**/", handler);
31 mappings.put("/**/*.html", handler);
32 mapping.setUrlMap(mappings);
37 public ProxyHttpRequestHandler proxiedRequestHandler(
38 CloseableHttpClient client,
42 ProxyHttpRequestHandler handler = new ProxyHttpRequestHandler();
43 handler.setClient(client);
44 handler.setOrigin(env.getProperty("thymeproxy.origin"));
45 handler.setTtl(30000l);
50 public static void main(String[] args)
52 SpringApplication.run(Application.class, args);