Package org.hl7.fhir.r4.utils.client
Class ClientUtils
java.lang.Object
org.hl7.fhir.r4.utils.client.ClientUtils
Helper class handling lower level HTTP transport concerns.
TODO Document methods.
- Author:
- Claude Nanjo
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildConnection(URI baseServiceUri, String tail)Client connection methodsbuildConnection(URI baseServiceUri, ResourceType resourceType, String id)protected voidconfigureFhirRequest(org.apache.http.HttpRequest request, String format)Method adds required request headers.protected voidconfigureFhirRequest(org.apache.http.HttpRequest request, String format, List<org.apache.http.Header> headers)Method adds required request headers.byte[]getFeedAsByteArray(Bundle feed, boolean pretty, boolean isJson)getLastModifiedResponseHeaderAsCalendarObject(URLConnection serverConnection)protected StringgetLocationHeader(org.apache.http.HttpResponse response)org.hl7.fhir.utilities.ToolingClientLoggerprotected IParserorg.apache.http.HttpHostgetProxy()<T extends Resource>
byte[]getResourceAsByteArray(T resource, boolean pretty, boolean isJson)Other general helper methodsintintbooleanissueDeleteRequest(URI resourceUri)issueGetFeedRequest(URI resourceUri, String resourceFormat)<T extends Resource>
ResourceRequest<T>issueGetResourceRequest(URI resourceUri, String resourceFormat, String message, int timeout)<T extends Resource>
ResourceRequest<T>issueOptionsRequest(URI optionsUri, String resourceFormat, String message, int timeout)issuePostFeedRequest(URI resourceUri, Map<String,String> parameters, String resourceName, Resource resource, String resourceFormat)<T extends Resource>
ResourceRequest<T>issuePostRequest(URI resourceUri, byte[] payload, String resourceFormat, String message, int timeout)<T extends Resource>
ResourceRequest<T>issuePostRequest(URI resourceUri, byte[] payload, String resourceFormat, List<org.apache.http.Header> headers, String message, int timeout)<T extends Resource>
ResourceRequest<T>issuePutRequest(URI resourceUri, byte[] payload, String resourceFormat, String message, int timeout)<T extends Resource>
ResourceRequest<T>issuePutRequest(URI resourceUri, byte[] payload, String resourceFormat, List<org.apache.http.Header> headers, String message, int timeout)protected <T extends Resource>
ResourceRequest<T>issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, byte[] payload, String message, int timeout)protected <T extends Resource>
ResourceRequest<T>issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, byte[] payload, List<org.apache.http.Header> headers, String message, int timeout)protected <T extends Resource>
ResourceRequest<T>issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, String message, int timeout)Request/Response Helper methodsvoidmakeClient(org.apache.http.HttpHost proxy)postBatchRequest(URI resourceUri, byte[] payload, String resourceFormat, String message, int timeout)protected org.apache.http.HttpResponsesendPayload(org.apache.http.client.methods.HttpEntityEnclosingRequestBase request, byte[] payload)Method posts request payloadprotected org.apache.http.HttpResponsesendPayload(org.apache.http.client.methods.HttpEntityEnclosingRequestBase request, byte[] payload, org.apache.http.HttpHost proxy, String message, int timeout)Method posts request payloadprotected org.apache.http.HttpResponsesendRequest(org.apache.http.client.methods.HttpUriRequest request)voidsetLogger(org.hl7.fhir.utilities.ToolingClientLogger logger)voidsetPassword(String password)voidsetProxy(org.apache.http.HttpHost proxy)voidsetRetryCount(int retryCount)voidsetTimeout(int timeout)voidsetUsername(String username)protected BundleunmarshalFeed(org.apache.http.HttpResponse response, String format)Unmarshals Bundle from response stream.protected <T extends Resource>
TunmarshalReference(org.apache.http.HttpResponse response, String format)Unmarshals a resource from the response stream.protected StringwriteInputStreamAsString(InputStream instream)Used for debugging
-
Field Details
-
DEFAULT_CHARSET
- See Also:
- Constant Field Values
-
HEADER_LOCATION
- See Also:
- Constant Field Values
-
TIMEOUT_SOCKET
- See Also:
- Constant Field Values
-
TIMEOUT_CONNECT
- See Also:
- Constant Field Values
-
-
Constructor Details
-
ClientUtils
public ClientUtils()
-
-
Method Details
-
getProxy
-
setProxy
-
getTimeout
-
setTimeout
-
getUsername
-
setUsername
-
getPassword
-
setPassword
-
issueOptionsRequest
public <T extends Resource> ResourceRequest<T> issueOptionsRequest(URI optionsUri, String resourceFormat, String message, int timeout) -
issueGetResourceRequest
public <T extends Resource> ResourceRequest<T> issueGetResourceRequest(URI resourceUri, String resourceFormat, String message, int timeout) -
issuePutRequest
public <T extends Resource> ResourceRequest<T> issuePutRequest(URI resourceUri, byte[] payload, String resourceFormat, List<org.apache.http.Header> headers, String message, int timeout) -
issuePutRequest
public <T extends Resource> ResourceRequest<T> issuePutRequest(URI resourceUri, byte[] payload, String resourceFormat, String message, int timeout) -
issuePostRequest
public <T extends Resource> ResourceRequest<T> issuePostRequest(URI resourceUri, byte[] payload, String resourceFormat, List<org.apache.http.Header> headers, String message, int timeout) -
issuePostRequest
public <T extends Resource> ResourceRequest<T> issuePostRequest(URI resourceUri, byte[] payload, String resourceFormat, String message, int timeout) -
issueGetFeedRequest
-
postBatchRequest
public Bundle postBatchRequest(URI resourceUri, byte[] payload, String resourceFormat, String message, int timeout) -
issueDeleteRequest
-
issueResourceRequest
protected <T extends Resource> ResourceRequest<T> issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, String message, int timeout)Request/Response Helper methods -
issueResourceRequest
protected <T extends Resource> ResourceRequest<T> issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, byte[] payload, String message, int timeout)- Parameters:
resourceFormat-options-- Returns:
-
issueResourceRequest
protected <T extends Resource> ResourceRequest<T> issueResourceRequest(String resourceFormat, org.apache.http.client.methods.HttpUriRequest request, byte[] payload, List<org.apache.http.Header> headers, String message, int timeout)- Parameters:
resourceFormat-options-- Returns:
-
configureFhirRequest
Method adds required request headers. TODO handle JSON request as well.- Parameters:
request-
-
configureFhirRequest
protected 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 org.apache.http.HttpResponse sendPayload(org.apache.http.client.methods.HttpEntityEnclosingRequestBase request, byte[] payload, org.apache.http.HttpHost proxy, String message, int timeout)Method posts request payload- Parameters:
request-payload-- Returns:
-
makeClient
-
sendRequest
protected org.apache.http.HttpResponse sendRequest(org.apache.http.client.methods.HttpUriRequest request)- Parameters:
request-payload-- Returns:
-
unmarshalReference
protected <T extends Resource> T unmarshalReference(org.apache.http.HttpResponse response, String format)Unmarshals a resource from the response stream.- Parameters:
response-- Returns:
-
unmarshalFeed
Unmarshals Bundle from response stream.- Parameters:
response-- Returns:
-
getLocationHeader
-
buildConnection
Client connection methods -
buildConnection
-
getResourceAsByteArray
public <T extends Resource> byte[] getResourceAsByteArray(T resource, boolean pretty, boolean isJson)Other general helper methods -
getFeedAsByteArray
-
getLastModifiedResponseHeaderAsCalendarObject
-
getParser
-
issuePostFeedRequest
public Bundle issuePostFeedRequest(URI resourceUri, Map<String,String> parameters, String resourceName, Resource resource, String resourceFormat) throws IOException- Throws:
IOException
-
sendPayload
protected org.apache.http.HttpResponse sendPayload(org.apache.http.client.methods.HttpEntityEnclosingRequestBase request, byte[] payload)Method posts request payload- Parameters:
request-payload-- Returns:
-
getLogger
-
setLogger
-
writeInputStreamAsString
Used for debugging- Parameters:
instream-- Returns:
-
getRetryCount
-
setRetryCount
-