in streams-contrib/streams-provider-twitter/src/main/java/org/apache/streams/twitter/api/Twitter.java [104:151]
private Twitter(TwitterConfiguration configuration) throws InstantiationException {
this.configuration = configuration;
this.rootUrl = TwitterProviderUtil.baseUrl(configuration);
this.oauthInterceptor = new TwitterOAuthRequestInterceptor(configuration.getOauth());
this.httpclient = HttpClientBuilder.create()
.setDefaultRequestConfig(
RequestConfig.custom()
.setConnectionRequestTimeout(5000)
.setConnectTimeout(60000)
.setSocketTimeout(60000)
.setCookieSpec("easy")
.build()
)
.setMaxConnPerRoute(20)
.setMaxConnTotal(100)
.addInterceptorFirst(oauthInterceptor)
.addInterceptorLast((HttpRequestInterceptor) (httpRequest, httpContext) -> LOGGER.debug(httpRequest.getRequestLine().getUri()))
.addInterceptorLast((HttpResponseInterceptor) (httpResponse, httpContext) -> LOGGER.debug(httpResponse.getStatusLine().toString()))
.build();
this.restClientBuilder = RestClient.create()
.executorService(Executors.newCachedThreadPool(), false)
.httpClient(httpclient)
.parser(
JsonParser.DEFAULT.copy()
.ignoreUnknownBeanProperties()
.swaps(TemporalDateSwap.class)
.build())
.serializer(
JsonSerializer.DEFAULT.copy()
.swaps(TemporalDateSwap.class)
.trimEmptyCollections(true)
.trimEmptyMaps(true)
.build())
.rootUrl(rootUrl)
.retryHandler(
new BasicHttpRequestRetryHandler(
configuration.getRetryMax().intValue(),
configuration.getRetrySleepMs().intValue(),
true
)
);
if( configuration.getDebug() ) {
restClientBuilder = restClientBuilder.debug();
}
this.restClient = restClientBuilder.build();
this.mapper = StreamsJacksonMapper.getInstance();
}