|
2 | 2 |
|
3 | 3 | import com.github.rawsanj.messaging.RedisChatMessagePublisher; |
4 | 4 | import com.github.rawsanj.model.Message; |
| 5 | +import com.github.rawsanj.model.Platform; |
5 | 6 | import org.springframework.beans.factory.annotation.Value; |
6 | 7 | import org.springframework.context.annotation.Bean; |
7 | 8 | import org.springframework.context.annotation.Configuration; |
| 9 | +import org.springframework.core.env.Environment; |
8 | 10 | import org.springframework.core.io.Resource; |
9 | 11 | import org.springframework.http.MediaType; |
10 | 12 | import org.springframework.web.reactive.function.server.RouterFunction; |
|
13 | 15 | import static org.springframework.web.reactive.function.server.RequestPredicates.GET; |
14 | 16 | import static org.springframework.web.reactive.function.server.RequestPredicates.POST; |
15 | 17 | import static org.springframework.web.reactive.function.server.RouterFunctions.route; |
16 | | -import static org.springframework.web.reactive.function.server.ServerResponse.ok; |
17 | 18 |
|
18 | 19 | @Configuration(proxyBeanMethods = false) |
19 | 20 | public class WebHttpHandler { |
20 | 21 |
|
21 | 22 | @Bean |
22 | | - public RouterFunction<ServerResponse> htmlRouter(@Value("classpath:/static/index.html") Resource html, RedisChatMessagePublisher redisChatMessagePublisher) { |
23 | | - return route(GET("/"), request -> ok().contentType(MediaType.TEXT_HTML).bodyValue(html)) |
| 23 | + public RouterFunction<ServerResponse> htmlRouter(@Value("classpath:/static/index.html") Resource html, |
| 24 | + RedisChatMessagePublisher redisChatMessagePublisher, Environment environment) { |
| 25 | + return route(GET("/"), request -> ServerResponse.ok().contentType(MediaType.TEXT_HTML).bodyValue(html)) |
24 | 26 | .andRoute(POST("/message"), request -> request.bodyToMono(Message.class) |
25 | 27 | .flatMap(message -> redisChatMessagePublisher.publishChatMessage(message.getMessage())) |
26 | | - .flatMap(aLong -> ServerResponse.ok().bodyValue(new Message("Message Sent Successfully!.")))); |
| 28 | + .flatMap(aLong -> ServerResponse.ok().bodyValue(new Message("Message Sent Successfully!."))) |
| 29 | + ) |
| 30 | + .andRoute( |
| 31 | + GET("/platform"), request -> ServerResponse.ok().bodyValue(new Platform(environment.getProperty("RUNTIME_PLATFORM", "JVM"))) |
| 32 | + ); |
27 | 33 | } |
28 | 34 |
|
29 | 35 | } |
0 commit comments