a24889cb376a16ac94c1c7b8bba2a27397479ada
[integration.git] /
1 package org.onap.pnfsimulator.simulator.client;
2
3 import java.io.IOException;
4 import java.io.UnsupportedEncodingException;
5 import org.apache.http.HttpResponse;
6 import org.apache.http.client.HttpClient;
7 import org.apache.http.client.config.RequestConfig;
8 import org.apache.http.client.methods.HttpPost;
9 import org.apache.http.entity.StringEntity;
10 import org.apache.http.impl.client.HttpClientBuilder;
11 import org.apache.logging.log4j.LogManager;
12 import org.apache.logging.log4j.Logger;
13
14 public class HttpClientProvider {
15
16     private static final Logger logger = LogManager.getLogger(HttpClientProvider.class);
17     private static final String CONTENT_TYPE = "Content-Type";
18     private static final String APPLICATION_JSON = "application/json";
19
20     private HttpClient client;
21     private String url;
22
23     public HttpClientProvider(String url) {
24
25         RequestConfig config = RequestConfig.custom()
26             .setConnectTimeout(1000)
27             .setConnectionRequestTimeout(1000)
28             .setSocketTimeout(1000)
29             .build();
30
31         this.client = HttpClientBuilder
32             .create()
33             .setDefaultRequestConfig(config)
34             .build();
35
36         this.url = url;
37     }
38
39     public void sendMsg(String content) {
40         try {
41             HttpPost request = createRequest(content);
42             HttpResponse response = client.execute(request);
43             logger.info("MESSAGE SENT, VES RESPONSE CODE: {}", response.getStatusLine());
44         } catch (IOException e) {
45             logger.info("ERROR SENDING MESSAGE TO VES: {}", e.getMessage());
46         }
47     }
48
49     private HttpPost createRequest(String content) throws UnsupportedEncodingException {
50         StringEntity stringEntity = new StringEntity(content);
51         HttpPost request = new HttpPost(url);
52         request.addHeader(CONTENT_TYPE, APPLICATION_JSON);
53         request.setEntity(stringEntity);
54         return request;
55     }
56 }