package io.innerloop.neo4j.client.spi.impl.rest.http; import io.innerloop.neo4j.client.spi.impl.rest.json.JSONObject; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** * Created by markangrish on 28/03/2015. */ public class HttpClient { private final Map<String, String> headers; public HttpClient() { this.headers = new HashMap<>(); } public void addHeader(String name, String value) { headers.put(name, value); } public String post(String endpoint, JSONObject payload) throws IOException { Request request = new Request(endpoint); for (Map.Entry<String, String> entry : headers.entrySet()) { request.addHeader(entry.getKey(), entry.getValue()); } Response httpResponse = request.addHeader("Content-Type", "application/json") .setBody(payload.toString()) .postResource(); return httpResponse.getBody(); } public String delete(String endpoint) throws IOException { Request request = new Request(endpoint); for (Map.Entry<String, String> entry : headers.entrySet()) { request.addHeader(entry.getKey(), entry.getValue()); } Response httpResponse = request.deleteResource(); return httpResponse.getBody(); } public void authenticate(String username, String password) { String userPassword = username + ":" + password; String encoding = new sun.misc.BASE64Encoder().encode(userPassword.getBytes()); addHeader("Authorization", "Basic " + encoding); } }