All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.newrelic.insights.publish.SingleThreadedInsightsClient Maven / Gradle / Ivy

package com.newrelic.insights.publish;

import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.DatatypeConverter;

import org.apache.http.Header;
import org.apache.http.HttpHeaders;
import org.apache.http.HttpHost;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicHeader;

public class SingleThreadedInsightsClient extends InsightsClient {

	public SingleThreadedInsightsClient(String insightsAPIUrl, String insightsAPIInsertKey) {
		super(insightsAPIUrl, insightsAPIInsertKey);
	}
	
	@Override
	public void init(ClientConnectionConfiguration connConfig) {
		RequestConfig requestConfig; 
		if (connConfig.isUseProxy()) {
			HttpHost proxy = new HttpHost(connConfig.getProxyHost(), connConfig.getProxyPort(), connConfig.getProxyScheme());
			requestConfig = RequestConfig.custom().setConnectionRequestTimeout(connConfig.getConnectionRequestTimeout())
				.setConnectTimeout(connConfig.getConnectTimeout()).setSocketTimeout(connConfig.getSocketTimeout())
				.setProxy(proxy )
				.build();
		} else {
			requestConfig = RequestConfig.custom().setConnectionRequestTimeout(connConfig.getConnectionRequestTimeout())
				.setConnectTimeout(connConfig.getConnectTimeout()).setSocketTimeout(connConfig.getSocketTimeout())
				.build();
		}
		
		List
headers = new ArrayList
(); Header contentTypeHeader = new BasicHeader(HttpHeaders.CONTENT_TYPE, PROPERTY_VALUE_HEADER_CONTENT_TYPE); Header insertKeyHeader = new BasicHeader(PROPERTY_NAME_HEADER_X_INSERT_KEY, insightsAPIInsertKey); if ((connConfig.getProxyUsername() != null) && (connConfig.getProxyPassword() != null)) { String proxyUserAndPass = ((String)connConfig.getProxyUsername()).trim() + ":" + ((String)connConfig.getProxyPassword()).trim(); headers.add(new BasicHeader("Proxy-Authorization", "Basic " + DatatypeConverter.parseString(proxyUserAndPass))); } headers.add(contentTypeHeader); headers.add(insertKeyHeader); httpclient = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).setDefaultHeaders(headers).build(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy