aboutsummaryrefslogtreecommitdiff
path: root/juick-crosspost/src/main/java/com/juick/components/configuration/CrosspostAppConfiguration.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-crosspost/src/main/java/com/juick/components/configuration/CrosspostAppConfiguration.java')
-rw-r--r--juick-crosspost/src/main/java/com/juick/components/configuration/CrosspostAppConfiguration.java36
1 files changed, 26 insertions, 10 deletions
diff --git a/juick-crosspost/src/main/java/com/juick/components/configuration/CrosspostAppConfiguration.java b/juick-crosspost/src/main/java/com/juick/components/configuration/CrosspostAppConfiguration.java
index 6ceb976b..eae12e6c 100644
--- a/juick-crosspost/src/main/java/com/juick/components/configuration/CrosspostAppConfiguration.java
+++ b/juick-crosspost/src/main/java/com/juick/components/configuration/CrosspostAppConfiguration.java
@@ -17,38 +17,54 @@
package com.juick.components.configuration;
-import com.juick.components.Crosspost;
import com.juick.server.configuration.BaseWebConfiguration;
-import com.juick.service.CrosspostService;
+import com.juick.service.Crosspost;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
-import org.springframework.core.env.Environment;
+import org.springframework.http.client.ClientHttpRequestInterceptor;
+import org.springframework.http.client.InterceptingClientHttpRequestFactory;
+import org.springframework.http.client.support.BasicAuthorizationInterceptor;
+import org.springframework.web.client.RestTemplate;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.socket.client.WebSocketConnectionManager;
import org.springframework.web.socket.client.standard.StandardWebSocketClient;
-import javax.inject.Inject;
+import java.util.Collections;
+import java.util.List;
/**
* Created by aalexeev on 11/12/16.
*/
@Configuration
+@ComponentScan(basePackages = "com.juick.service")
@EnableWebMvc
@PropertySource("classpath:juick.conf")
public class CrosspostAppConfiguration extends BaseWebConfiguration {
- @Inject
- private Environment env;
- @Inject
- private CrosspostService crosspostService;
+ @Value("${api_user:juick}")
+ private String apiUser;
+ @Value("${api_password:secret}")
+ private String apiSecret;
@Bean
- public Crosspost crosspost() {
- return new Crosspost(env, crosspostService);
+ public RestTemplate rest() {
+ RestTemplate rest = new RestTemplate();
+ List<ClientHttpRequestInterceptor> interceptors = Collections.singletonList(
+ new BasicAuthorizationInterceptor(apiUser, apiSecret));
+
+ rest.setRequestFactory(new InterceptingClientHttpRequestFactory(rest.getRequestFactory(), interceptors));
+ return rest;
}
private static final String WS_URI = "wss://ws.juick.com/";
@Bean
+ public Crosspost crosspost() {
+ return new Crosspost();
+ }
+
+ @Bean
public WebSocketConnectionManager connectionManager() {
WebSocketConnectionManager manager = new WebSocketConnectionManager(client(), crosspost(), WS_URI);
manager.setAutoStartup(true);