Custom Query Code
[policy/models.git] / models-interactions / model-impl / rest / src / main / java / org / onap / policy / rest / RestManager.java
index bbc30a7..f19ed78 100644 (file)
@@ -25,11 +25,11 @@ import java.nio.charset.Charset;
 import java.util.Map;
 import java.util.Map.Entry;
 import javax.xml.bind.DatatypeConverter;
-
 import org.apache.http.HttpHeaders;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
 import org.apache.http.client.methods.HttpRequestBase;
 import org.apache.http.conn.ssl.NoopHostnameVerifier;
 import org.apache.http.entity.StringEntity;
@@ -53,6 +53,33 @@ public class RestManager {
         }
     }
 
+    /**
+     * Perform REST PUT.
+     *
+     * @param url         the url
+     * @param username    the user name
+     * @param password    the password
+     * @param headers     any headers
+     * @param contentType what the content type is
+     * @param body        body to send
+     * @return the response status code and the body
+     */
+    public Pair<Integer, String> put(String url, String username, String password,
+                                      Map<String, String> headers, String contentType, String body) {
+        HttpPut put = new HttpPut(url);
+        addHeaders(put, username, password, headers);
+        put.addHeader("Content-Type", contentType);
+        try {
+            StringEntity input = new StringEntity(body);
+            input.setContentType(contentType);
+            put.setEntity(input);
+        } catch (Exception e) {
+            logger.error("put threw: ", e);
+            return null;
+        }
+        return sendRequest(put);
+    }
+
     /**
      * Perform REST Post.
      *