aboutsummaryrefslogtreecommitdiff
path: root/juick-common/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'juick-common/src/main')
-rw-r--r--juick-common/src/main/java/com/juick/server/configuration/JuickServerWebsocketConfiguration.java72
1 files changed, 0 insertions, 72 deletions
diff --git a/juick-common/src/main/java/com/juick/server/configuration/JuickServerWebsocketConfiguration.java b/juick-common/src/main/java/com/juick/server/configuration/JuickServerWebsocketConfiguration.java
deleted file mode 100644
index 18501eaff..000000000
--- a/juick-common/src/main/java/com/juick/server/configuration/JuickServerWebsocketConfiguration.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.juick.server.configuration;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.juick.server.component.JuickServerComponent;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
-import org.springframework.http.client.ClientHttpRequestInterceptor;
-import org.springframework.http.client.InterceptingClientHttpRequestFactory;
-import org.springframework.http.client.support.BasicAuthorizationInterceptor;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.web.client.HttpClientErrorException;
-import org.springframework.web.client.RestTemplate;
-import org.springframework.web.socket.client.WebSocketConnectionManager;
-import org.springframework.web.socket.client.standard.StandardWebSocketClient;
-import org.springframework.web.util.UriComponentsBuilder;
-
-import javax.inject.Inject;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.List;
-
-@Lazy
-@Configuration
-@EnableScheduling
-public class JuickServerWebsocketConfiguration {
- private static final Logger logger = LoggerFactory.getLogger(JuickServerWebsocketConfiguration.class);
- @Value("${websocket_url:ws://localhost:8080/ws/}")
- private String baseUri;
- @Value("${api_user:juick}")
- private String serviceUser;
- @Value("${api_password:secret}")
- private String servicePassword;
- @Inject
- ObjectMapper jsonMapper;
- @Inject
- private JuickServerComponent juickServerComponent;
- @Bean
- public RestTemplate rest() {
- RestTemplate rest = new RestTemplate();
- List<ClientHttpRequestInterceptor> interceptors = Collections.singletonList(
- new BasicAuthorizationInterceptor(serviceUser, servicePassword));
-
- rest.setRequestFactory(new InterceptingClientHttpRequestFactory(rest.getRequestFactory(), interceptors));
- return rest;
- }
- @Bean
- public WebSocketConnectionManager connectionManager() {
- String hash = StringUtils.EMPTY;
- try {
- ResponseEntity<String> response = rest().exchange("https://api.juick.com/auth",
- HttpMethod.GET, null, String.class);
- hash = jsonMapper.readValue(response.getBody(), String.class);
- } catch (HttpClientErrorException | IOException e) {
- logger.warn("service component is not authenticated", e);
- }
- String websocketURI = UriComponentsBuilder.fromUriString(baseUri)
- .queryParam("hash", hash).build().toUriString();
- WebSocketConnectionManager manager = new WebSocketConnectionManager(client(), juickServerComponent, websocketURI);
- return manager;
- }
- @Bean
- public StandardWebSocketClient client() {
- return new StandardWebSocketClient();
- }
-}