Merge "Creating datafile"
[nonrtric/plt/ranpm.git] / datafilecollector / src / main / java / org / onap / dcaegen2 / collectors / datafile / http / HttpAsyncClientBuilderWrapper.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2019 Nordix Foundation.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.dcaegen2.collectors.datafile.http;
22
23 import javax.net.ssl.HostnameVerifier;
24 import javax.net.ssl.SSLContext;
25
26 import org.apache.http.client.RedirectStrategy;
27 import org.apache.http.client.config.RequestConfig;
28 import org.apache.http.impl.nio.client.CloseableHttpAsyncClient;
29 import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
30 import org.apache.http.impl.nio.client.HttpAsyncClients;
31
32 public class HttpAsyncClientBuilderWrapper {
33     HttpAsyncClientBuilder builder = HttpAsyncClients.custom();
34
35     public HttpAsyncClientBuilderWrapper setRedirectStrategy(RedirectStrategy redirectStrategy) {
36         builder.setRedirectStrategy(redirectStrategy);
37         return this;
38     }
39
40     public HttpAsyncClientBuilderWrapper setSslContext(SSLContext sslcontext) {
41         builder.setSSLContext(sslcontext);
42         return this;
43     }
44
45     public HttpAsyncClientBuilderWrapper setSslHostnameVerifier(HostnameVerifier hostnameVerifier) {
46         builder.setSSLHostnameVerifier(hostnameVerifier);
47         return this;
48     }
49
50     public HttpAsyncClientBuilderWrapper setDefaultRequestConfig(RequestConfig config) {
51         builder.setDefaultRequestConfig(config);
52         return this;
53     }
54
55     public CloseableHttpAsyncClient build() {
56         return builder.build();
57     }
58
59 }