
net.nemerosa.httpclient.Client Maven / Gradle / Ivy
package net.nemerosa.httpclient;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.client.CloseableHttpClient;
import java.net.URL;
import java.util.Map;
public interface Client {
URL getUrl();
T get(ResponseParser responseParser, String path, Object... parameters);
T delete(ResponseParser responseParser, String path, Object... parameters);
T post(ResponseParser responseParser, HttpEntity data, String path, Object... parameters);
T put(ResponseParser responseParser, HttpEntity data, String path, Object... parameters);
T upload(ResponseParser responseParser, String name, Document file, String fileName, String path, Object... parameters);
/**
* Uploads a document.
*
* @param responseParser Parser for the response
* @param file Document to upload
* @param path Path to upload to
* @param parameters Parameters for the path
* @param Type of the response
* @return Parsed response
*/
T upload(ResponseParser responseParser, Document file, String path, Object... parameters);
/**
* With some headers
*/
Client withHeader(String name, String value);
/**
* With some headers
*/
Client withHeaders(Map headers);
/**
* Downloads a document
*/
Document download(String path, Object... parameters);
T request(HttpRequestBase request, final ResponseParser responseParser);
/**
* Underlying HTTP client
*/
CloseableHttpClient getHttpClient();
/**
* HTTP host
*/
HttpHost getHttpHost();
/**
* HTTP call context
*/
HttpClientContext getHttpClientContext();
/**
* Gets the logger
*/
ClientLogger getClientLogger();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy