private Twitter()

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();
  }