Package org.hl7.fhir.dstu2.utils.client
Class ClientUtils
- java.lang.Object
-
- org.hl7.fhir.dstu2.utils.client.ClientUtils
-
public class ClientUtils extends Object
Helper class handling lower level HTTP transport concerns. TODO Document methods.- Author:
- Claude Nanjo
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_CHARSETstatic StringHEADER_LOCATION
-
Constructor Summary
Constructors Constructor Description ClientUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static HttpURLConnectionbuildConnection(URI baseServiceUri, String tail)Client connection methodsstatic HttpURLConnectionbuildConnection(URI baseServiceUri, ResourceType resourceType, String id)protected static voidconfigureFhirRequest(org.apache.http.HttpRequest request, String format)Method adds required request headers.protected static voidconfigureFhirRequest(org.apache.http.HttpRequest request, String format, List<org.apache.http.Header> headers)Method adds required request headers.static byte[]getFeedAsByteArray(Bundle feed, boolean pretty, boolean isJson)static CalendargetLastModifiedResponseHeaderAsCalendarObject(URLConnection serverConnection)protected static StringgetLocationHeader(org.apache.http.HttpResponse response)protected static IParsergetParser(String format)static <T extends Resource>
byte[]getResourceAsByteArray(T resource, boolean pretty, boolean isJson)Other general helper methodsstatic booleanissueDeleteRequest(URI resourceUri, org.apache.http.HttpHost proxy)static BundleissueGetFeedRequest(URI resourceUri, String resourceFormat, org.apache.http.HttpHost proxy)static <T extends Resource>
ResourceRequest<T>issueGetResourceRequest(URI resourceUri, String resourceFormat, org.apache.http.HttpHost proxy)static <T extends Resource>
ResourceRequest<T>issueOptionsRequest(URI optionsUri, String resourceFormat, org.apache.http.HttpHost proxy)static BundleissuePostFeedRequest(URI resourceUri, Map<String,String> parameters, String resourceName, Resource resource, String resourceFormat)static <T extends Resource>
ResourceRequest<T>issuePostRequest(URI resourceUri, byte[] payload, String resourceFormat, List<org.apache.http.Header> headers, org.apache.http.HttpHost proxy)static <T extends Resource>
ResourceRequest<T>issuePostRequest(URI resourceUri, byte[] payload, String resourceFormat, org.apache.http.HttpHost proxy)static <T extends Resource>
ResourceRequest<T>issuePutRequest(URI resourceUri, byte[] payload, String resourceFormat, List<org.apache.http.Header> headers, org.apache.http.HttpHost proxy)static <T extends Resource>
ResourceRequest<T>issuePutRequest(URI resourceUri, byte[] payload, String resourceFormat, org.apache.http.HttpHost proxy)protected static <T extends Resource>
ResourceRequest<T>issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, byte[] payload, List<org.apache.http.Header> headers, org.apache.http.HttpHost proxy)protected static <T extends Resource>
ResourceRequest<T>issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, byte[] payload, org.apache.http.HttpHost proxy)protected static <T extends Resource>
ResourceRequest<T>issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, org.apache.http.HttpHost proxy)Request/Response Helper methodsstatic BundlepostBatchRequest(URI resourceUri, byte[] payload, String resourceFormat, org.apache.http.HttpHost proxy)protected static org.apache.http.HttpResponsesendPayload(org.apache.http.client.methods.HttpEntityEnclosingRequestBase request, byte[] payload)Method posts request payloadprotected static org.apache.http.HttpResponsesendPayload(org.apache.http.client.methods.HttpEntityEnclosingRequestBase request, byte[] payload, org.apache.http.HttpHost proxy)Method posts request payloadprotected static org.apache.http.HttpResponsesendRequest(org.apache.http.client.methods.HttpUriRequest request, org.apache.http.HttpHost proxy)protected static BundleunmarshalFeed(org.apache.http.HttpResponse response, String format)Unmarshals Bundle from response stream.protected static <T extends Resource>
TunmarshalReference(org.apache.http.HttpResponse response, String format)Unmarshals a resource from the response stream.protected static StringwriteInputStreamAsString(InputStream instream)Used for debugging
-
-
-
Field Detail
-
DEFAULT_CHARSET
public static String DEFAULT_CHARSET
-
HEADER_LOCATION
public static final String HEADER_LOCATION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ClientUtils
public ClientUtils()
-
-
Method Detail
-
issueOptionsRequest
public static <T extends Resource> ResourceRequest<T> issueOptionsRequest(URI optionsUri, String resourceFormat, org.apache.http.HttpHost proxy)
-
issueGetResourceRequest
public static <T extends Resource> ResourceRequest<T> issueGetResourceRequest(URI resourceUri, String resourceFormat, org.apache.http.HttpHost proxy)
-
issuePutRequest
public static <T extends Resource> ResourceRequest<T> issuePutRequest(URI resourceUri, byte[] payload, String resourceFormat, List<org.apache.http.Header> headers, org.apache.http.HttpHost proxy)
-
issuePutRequest
public static <T extends Resource> ResourceRequest<T> issuePutRequest(URI resourceUri, byte[] payload, String resourceFormat, org.apache.http.HttpHost proxy)
-
issuePostRequest
public static <T extends Resource> ResourceRequest<T> issuePostRequest(URI resourceUri, byte[] payload, String resourceFormat, List<org.apache.http.Header> headers, org.apache.http.HttpHost proxy)
-
issuePostRequest
public static <T extends Resource> ResourceRequest<T> issuePostRequest(URI resourceUri, byte[] payload, String resourceFormat, org.apache.http.HttpHost proxy)
-
issueGetFeedRequest
public static Bundle issueGetFeedRequest(URI resourceUri, String resourceFormat, org.apache.http.HttpHost proxy)
-
postBatchRequest
public static Bundle postBatchRequest(URI resourceUri, byte[] payload, String resourceFormat, org.apache.http.HttpHost proxy)
-
issueDeleteRequest
public static boolean issueDeleteRequest(URI resourceUri, org.apache.http.HttpHost proxy)
-
issueResourceRequest
protected static <T extends Resource> ResourceRequest<T> issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, org.apache.http.HttpHost proxy)
Request/Response Helper methods
-
issueResourceRequest
protected static <T extends Resource> ResourceRequest<T> issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, byte[] payload, org.apache.http.HttpHost proxy)
- Parameters:
resourceFormat-options-- Returns:
-
issueResourceRequest
protected static <T extends Resource> ResourceRequest<T> issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, byte[] payload, List<org.apache.http.Header> headers, org.apache.http.HttpHost proxy)
- Parameters:
resourceFormat-options-- Returns:
-
configureFhirRequest
protected static void configureFhirRequest(org.apache.http.HttpRequest request, String format)
Method adds required request headers. TODO handle JSON request as well.- Parameters:
request-
-
configureFhirRequest
protected static void configureFhirRequest(org.apache.http.HttpRequest request, String format, List<org.apache.http.Header> headers)
Method adds required request headers. TODO handle JSON request as well.- Parameters:
request-
-
sendPayload
protected static org.apache.http.HttpResponse sendPayload(org.apache.http.client.methods.HttpEntityEnclosingRequestBase request, byte[] payload, org.apache.http.HttpHost proxy)
Method posts request payload- Parameters:
request-payload-- Returns:
-
sendRequest
protected static org.apache.http.HttpResponse sendRequest(org.apache.http.client.methods.HttpUriRequest request, org.apache.http.HttpHost proxy)
- Parameters:
request-payload-- Returns:
-
unmarshalReference
protected static <T extends Resource> T unmarshalReference(org.apache.http.HttpResponse response, String format)
Unmarshals a resource from the response stream.- Parameters:
response-- Returns:
-
unmarshalFeed
protected static Bundle unmarshalFeed(org.apache.http.HttpResponse response, String format)
Unmarshals Bundle from response stream.- Parameters:
response-- Returns:
-
getLocationHeader
protected static String getLocationHeader(org.apache.http.HttpResponse response)
-
buildConnection
public static HttpURLConnection buildConnection(URI baseServiceUri, String tail)
Client connection methods
-
buildConnection
public static HttpURLConnection buildConnection(URI baseServiceUri, ResourceType resourceType, String id)
-
getResourceAsByteArray
public static <T extends Resource> byte[] getResourceAsByteArray(T resource, boolean pretty, boolean isJson)
Other general helper methods
-
getFeedAsByteArray
public static byte[] getFeedAsByteArray(Bundle feed, boolean pretty, boolean isJson)
-
getLastModifiedResponseHeaderAsCalendarObject
public static Calendar getLastModifiedResponseHeaderAsCalendarObject(URLConnection serverConnection)
-
writeInputStreamAsString
protected static String writeInputStreamAsString(InputStream instream)
Used for debugging- Parameters:
instream-- Returns:
-
issuePostFeedRequest
public static Bundle issuePostFeedRequest(URI resourceUri, Map<String,String> parameters, String resourceName, Resource resource, String resourceFormat) throws IOException
- Throws:
IOException
-
sendPayload
protected static org.apache.http.HttpResponse sendPayload(org.apache.http.client.methods.HttpEntityEnclosingRequestBase request, byte[] payload)
Method posts request payload- Parameters:
request-payload-- Returns:
-
-