a12205e2da4cd0da235e6c18f5512a3d4be8fcba
[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
11
12 @SpringBootApplication
13 public class Application
14 {
15   @Bean
16   public RegexUrlHandlerMapping proxiedHandlerMapping(
17       ProxyHttpRequestHandler handler
18       )
19   {
20     RegexUrlHandlerMapping mapping = new RegexUrlHandlerMapping();
21     mapping.setOrder(Ordered.HIGHEST_PRECEDENCE);
22     mapping.setUrlMap(Collections.singletonMap(".*\\.html$", handler));
23         return mapping;
24   }
25
26   @Bean
27   public ProxyHttpRequestHandler proxiedRequestHandler(
28       CloseableHttpClient client,
29       Environment env
30       )
31   {
32     ProxyHttpRequestHandler handler = new ProxyHttpRequestHandler();
33     handler.setClient(client);
34     handler.setOrigin(env.getProperty("thymeproxy.origin"));
35     handler.setTtl(30000l);
36     return handler;
37   }
38
39
40   public static void main(String[] args)
41   {
42     SpringApplication.run(Application.class, args);
43   }
44 }