aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/config/ActivityPubConfig.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2021-04-12 22:00:11 +0300
committerGravatar Vitaly Takmazov2021-04-12 22:00:11 +0300
commit3e65b5eeaee89758558667787e48a5ab9908a46f (patch)
treebd4898a257706097996b0fcb0d83c7930e291c12 /src/main/java/com/juick/config/ActivityPubConfig.java
parent43963103bdacecd6943660baa8e4c5b21a490219 (diff)
ActivityPub: pooling HTTP client
Diffstat (limited to 'src/main/java/com/juick/config/ActivityPubConfig.java')
-rw-r--r--src/main/java/com/juick/config/ActivityPubConfig.java30
1 files changed, 10 insertions, 20 deletions
diff --git a/src/main/java/com/juick/config/ActivityPubConfig.java b/src/main/java/com/juick/config/ActivityPubConfig.java
index 661f6276..430dc8d1 100644
--- a/src/main/java/com/juick/config/ActivityPubConfig.java
+++ b/src/main/java/com/juick/config/ActivityPubConfig.java
@@ -21,20 +21,15 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.juick.ActivityPubManager;
import com.juick.www.api.activity.model.Activity;
import com.juick.util.HeaderRequestInterceptor;
-import org.apache.http.client.config.CookieSpecs;
-import org.apache.http.client.config.RequestConfig;
-import org.apache.http.client.protocol.HttpClientContext;
-import org.apache.http.protocol.HttpContext;
+import org.apache.http.impl.client.CloseableHttpClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.http.HttpMethod;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.client.RestTemplate;
import javax.inject.Inject;
-import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
@@ -54,22 +49,17 @@ public class ActivityPubConfig {
public ActivityPubManager activityPubManager() {
return new ActivityPubManager();
}
+ @Inject
+ CloseableHttpClient httpClient;
+ @Bean
+ public HttpComponentsClientHttpRequestFactory clientHttpRequestFactory() {
+ HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory();
+ clientHttpRequestFactory.setHttpClient(httpClient);
+ return clientHttpRequestFactory;
+ }
@Bean
public RestTemplate apClient() {
- RestTemplate restTemplate = new RestTemplate();
- restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory() {
- @Override
- protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) {
- HttpClientContext context = HttpClientContext.create();
- context.setRequestConfig(getRequestConfig());
- return context;
- }
- RequestConfig getRequestConfig() {
- RequestConfig.Builder builder = RequestConfig.custom()
- .setCookieSpec(CookieSpecs.IGNORE_COOKIES);
- return builder.build();
- }
- });
+ RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory());
restTemplate.getMessageConverters().add(0, mappingJacksonHttpMessageConverter());
restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8));
restTemplate.setErrorHandler(activityPubClientErrorHandler);