Added the possibility for a client to add additional HTTP headers
This commit is contained in:
parent
e7fa9ab604
commit
b0c8db59ee
|
@ -2,7 +2,9 @@ package org.gcube.informationsystem.resourceregistry.queries.templates;
|
|||
|
||||
import java.net.HttpURLConnection;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.gcube.com.fasterxml.jackson.databind.JavaType;
|
||||
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
|
||||
|
@ -29,19 +31,37 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
|||
|
||||
private static final Logger logger = LoggerFactory.getLogger(ResourceRegistryQueryTemplateClientImpl.class);
|
||||
|
||||
private static final String ACCEPT_HTTP_HEADER_KEY = "Accept";
|
||||
private static final String CONTENT_TYPE_HTTP_HEADER_KEY = "Content-Type";
|
||||
|
||||
protected final String address;
|
||||
|
||||
protected Map<String, String> headers;
|
||||
|
||||
public void addHeader(String name, String value) {
|
||||
headers.put(name, value);
|
||||
}
|
||||
|
||||
protected GXHTTPStringRequest getGXHTTPStringRequest() {
|
||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
||||
gxHTTPStringRequest.from(this.getClass().getSimpleName());
|
||||
for(String name : headers.keySet()) {
|
||||
gxHTTPStringRequest.header(name, headers.get(name));
|
||||
}
|
||||
return gxHTTPStringRequest;
|
||||
}
|
||||
|
||||
public ResourceRegistryQueryTemplateClientImpl(String address) {
|
||||
this.address = address;
|
||||
this.headers = new HashMap<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<QueryTemplate> all() throws ResourceRegistryException {
|
||||
try {
|
||||
logger.trace("Going to list {}s", QueryTemplate.NAME);
|
||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||
|
||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
||||
|
@ -80,10 +100,9 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
|||
logger.trace("Going to create: {}", queryTemplate);
|
||||
QueryTemplate qt = ElementMapper.unmarshal(QueryTemplate.class, queryTemplate);
|
||||
|
||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.header("Content-type", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.header(CONTENT_TYPE_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||
gxHTTPStringRequest.path(qt.getName());
|
||||
|
||||
|
@ -104,9 +123,8 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
|||
public boolean exist(String queryTemplateName) throws ResourceRegistryException {
|
||||
try {
|
||||
logger.trace("Going to read {} with name {}", QueryTemplate.NAME, queryTemplateName);
|
||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||
gxHTTPStringRequest.path(queryTemplateName);
|
||||
|
||||
|
@ -148,9 +166,8 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
|||
public String readAsString(String queryTemplateName) throws QueryTemplateNotFoundException, ResourceRegistryException {
|
||||
try {
|
||||
logger.trace("Going to read {} with name {}", QueryTemplate.NAME, queryTemplateName);
|
||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||
gxHTTPStringRequest.path(queryTemplateName);
|
||||
|
||||
|
@ -185,10 +202,9 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
|||
logger.trace("Going to update: {}", queryTemplate);
|
||||
QueryTemplate qt = ElementMapper.unmarshal(QueryTemplate.class, queryTemplate);
|
||||
|
||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.header("Content-type", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.header(CONTENT_TYPE_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||
gxHTTPStringRequest.path(qt.getName());
|
||||
|
||||
|
@ -238,10 +254,9 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
|||
logger.trace("Going to run {} with the following parameters {}", QueryTemplate.NAME, params);
|
||||
}
|
||||
|
||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.header("Content-type", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.header(CONTENT_TYPE_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||
gxHTTPStringRequest.path(name);
|
||||
|
||||
|
@ -285,9 +300,8 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
|||
public boolean delete(String queryTemplateName) throws QueryTemplateNotFoundException, ResourceRegistryException {
|
||||
try {
|
||||
logger.trace("Going to delete {} with name {}", QueryTemplate.NAME, queryTemplateName);
|
||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||
gxHTTPStringRequest.path(queryTemplateName);
|
||||
|
||||
|
|
Loading…
Reference in New Issue