<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.onap.logging-analytics</groupId>
+ <artifactId>logging-filter-base</artifactId>
+ <version>1.5.0</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
</project>
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.util.Base64;
import java.util.Properties;
-
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.ws.rs.client.ClientBuilder;
-import javax.xml.bind.DatatypeConverter;
-
+import org.onap.logging.filter.base.MetricLogClientFilter;
+import org.onap.logging.filter.base.PayloadLoggingClientFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public AbstractHttpAdapter() {
clientBuilder = ClientBuilder.newBuilder();
setTimeouts();
- registerLoggingFilter();
defaultHostNameVerifier();
}
});
}
- protected abstract void registerLoggingFilter();
+ protected void enableMetricLogging() {
+ clientBuilder.register(new MetricLogClientFilter());
+ }
+
+ protected void enablePayloadLogging() {
+ clientBuilder.register(new PayloadLoggingClientFilter());
+ }
private void setTimeouts() {
Integer httpReadTimeout = readOptionalInteger("HTTP_READ_TIMEOUT_MS", DEFAULT_HTTP_READ_TIMEOUT_MS);
protected String getBasicAuthValue(String userName, String password) {
String token = userName + ":" + password;
try {
- return "Basic " + DatatypeConverter.printBase64Binary(token.getBytes("UTF-8"));
+ return "Basic " + Base64.getEncoder().encodeToString(token.getBytes());
} catch (Exception e) {
logger.error("getBasicAuthValue threw an exception, credentials will be null", e);
}
\r
public class AbstractHttpAdapterTest {\r
\r
- public class NonLoggingHttpAdapter extends AbstractHttpAdapter {\r
- @Override\r
- protected void registerLoggingFilter() {\r
- // nonlogging, do nothing\r
- }\r
+ public class TestAdapter extends AbstractHttpAdapter {\r
+\r
}\r
\r
@Test\r
public void checkTimeouts() throws Exception {\r
- NonLoggingHttpAdapter adapter = new NonLoggingHttpAdapter();\r
+ TestAdapter adapter = new TestAdapter();\r
Client client = adapter.getClientBuilder().build();\r
assertNotNull(client.getConfiguration().getProperty("jersey.config.client.readTimeout"));\r
assertNotNull(client.getConfiguration().getProperty("jersey.config.client.connectTimeout"));\r
@Test\r
public void propertiesTest() throws Exception {\r
System.setProperty(AbstractHttpAdapter.SDNC_CONFIG_DIR, "src/test/resources/");\r
- NonLoggingHttpAdapter adapter = new NonLoggingHttpAdapter();\r
+ TestAdapter adapter = new TestAdapter();\r
Properties props = adapter.getProperties("testprops.properties");\r
assertNotNull(props);\r
assertEquals("world", props.get("hello"));\r
\r
@Test\r
public void basicAuthFilter() throws Exception {\r
- NonLoggingHttpAdapter adapter = new NonLoggingHttpAdapter();\r
+ TestAdapter adapter = new TestAdapter();\r
adapter.addBasicAuthCredentials("hello", "world");\r
Set<Object> objs = adapter.getClientBuilder().getConfiguration().getInstances();\r
assertEquals(BasicAuthFilter.class,objs.iterator().next().getClass());\r