Class FHIRBucketClient
- java.lang.Object
-
- org.linuxforhealth.fhir.bucket.client.FHIRBucketClient
-
public class FHIRBucketClient extends java.lang.ObjectHandles pooled HTTP/S connections to a FHIR server. Derived from the former High Volume Ingestion Tool (HVIT) which is known to scale to a large number of client connections.
-
-
Constructor Summary
Constructors Constructor Description FHIRBucketClient(ClientPropertyAdapter cpa)Public constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddHeader(java.lang.String key, java.lang.String value)Add the given key/value as a headerFhirServerResponsedelete(java.lang.String url)Issue a DELETE for the given urlFhirServerResponseget(java.lang.String url)Issue a GET request without request-specific headersFhirServerResponseget(java.lang.String url, RequestOptions requestOptions)Issue a GET request with request-specific headersjava.lang.StringgetBaseUrl()org.apache.http.pool.PoolStatsgetPoolInformation()Get statistics from the internal HTTP connection managervoidinit(java.lang.String tenantName)Initialize the SSL connection pool after all the required field values have been injectedprotected org.apache.http.impl.client.CloseableHttpClientobtainCloseableHttpClient(org.apache.http.conn.ConnectionKeepAliveStrategy connKeepAliveStrategy, ClientPropertyAdapter propertyAdapter)Overridden by child classes for specialized behavior.FhirServerResponsepost(java.lang.String url, java.lang.String body)Issue a POST request at the given url without any request-specific headersFhirServerResponsepost(java.lang.String url, RequestOptions requestOptions, java.lang.String body)Issue a POST request at the given url with request-specific headersprotected voidprocessOperationalOutcome(FhirServerResponse sr, org.apache.http.HttpEntity entity)Extract the operational outcome message from the response entityFhirServerResponseput(java.lang.String url, java.lang.String body)Issue a PUT request without request-specific headersFhirServerResponseput(java.lang.String url, RequestOptions requestOptions, java.lang.String body)Issue a PUT request with request-specific headersvoidshutdown()Shut down the pools associated with this client
-
-
-
Constructor Detail
-
FHIRBucketClient
public FHIRBucketClient(ClientPropertyAdapter cpa)
Public constructor- Parameters:
cpa-
-
-
Method Detail
-
addHeader
public void addHeader(java.lang.String key, java.lang.String value)Add the given key/value as a header- Parameters:
key-value-
-
init
public void init(java.lang.String tenantName)
Initialize the SSL connection pool after all the required field values have been injected
-
get
public FhirServerResponse get(java.lang.String url)
Issue a GET request without request-specific headers- Parameters:
url-- Returns:
-
get
public FhirServerResponse get(java.lang.String url, RequestOptions requestOptions)
Issue a GET request with request-specific headers- Parameters:
url-requestOptions- request-specific headers; can be null- Returns:
-
post
public FhirServerResponse post(java.lang.String url, java.lang.String body)
Issue a POST request at the given url without any request-specific headers- Parameters:
url-body-- Returns:
-
post
public FhirServerResponse post(java.lang.String url, RequestOptions requestOptions, java.lang.String body)
Issue a POST request at the given url with request-specific headers- Parameters:
url-requestOptions- request-specific headers; can be nullbody-- Returns:
-
put
public FhirServerResponse put(java.lang.String url, java.lang.String body)
Issue a PUT request without request-specific headers- Parameters:
url-body-- Returns:
-
put
public FhirServerResponse put(java.lang.String url, RequestOptions requestOptions, java.lang.String body)
Issue a PUT request with request-specific headers- Parameters:
url-requestOptions-body-- Returns:
-
delete
public FhirServerResponse delete(java.lang.String url)
Issue a DELETE for the given url- Parameters:
url-- Returns:
-
shutdown
public void shutdown()
Shut down the pools associated with this client
-
getPoolInformation
public org.apache.http.pool.PoolStats getPoolInformation()
Get statistics from the internal HTTP connection manager- Returns:
-
processOperationalOutcome
protected void processOperationalOutcome(FhirServerResponse sr, org.apache.http.HttpEntity entity)
Extract the operational outcome message from the response entity- Parameters:
sr-entity-
-
obtainCloseableHttpClient
protected org.apache.http.impl.client.CloseableHttpClient obtainCloseableHttpClient(org.apache.http.conn.ConnectionKeepAliveStrategy connKeepAliveStrategy, ClientPropertyAdapter propertyAdapter)Overridden by child classes for specialized behavior.- Parameters:
connKeepAliveStrategy-
-
getBaseUrl
public java.lang.String getBaseUrl()
- Returns:
- the URL to the base of the FHIR server
-
-