WIP: proxy
[maven-thymeleaf-skin] / src / main / java / de / juplo / thymeproxy / Application.java
1 package de.juplo.thymeproxy;
2
3 import java.util.Collections;
4 import org.apache.http.impl.client.CloseableHttpClient;
5 import org.springframework.boot.SpringApplication;
6 import org.springframework.boot.autoconfigure.SpringBootApplication;
7 import org.springframework.context.annotation.Bean;
8 import org.springframework.core.Ordered;
9 import org.springframework.core.env.Environment;
10 import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping;
11
12
13 @SpringBootApplication
14 public class Application
15 {
16   @Bean
17   public SimpleUrlHandlerMapping proxiedHandlerMapping(
18       ProxyHttpRequestHandler handler
19       )
20   {
21     SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
22     mapping.setOrder(Ordered.HIGHEST_PRECEDENCE);
23     mapping.setUrlMap(Collections.singletonMap("*.html", handler));
24         return mapping;
25   }
26
27   @Bean
28   public ProxyHttpRequestHandler proxiedRequestHandler(
29       CloseableHttpClient client,
30       Environment env
31       )
32   {
33     ProxyHttpRequestHandler handler = new ProxyHttpRequestHandler();
34     handler.setClient(client);
35     handler.setOrigin(env.getProperty("thymeproxy.origin"));
36     handler.setTtl(30000l);
37     return handler;
38   }
39
40
41   public static void main(String[] args)
42   {
43     SpringApplication.run(Application.class, args);
44   }
45 }