Package com.ibm.fhir.bucket.client
Class FHIRBucketClient
- java.lang.Object
-
- com.ibm.fhir.bucket.client.FHIRBucketClient
-
public class FHIRBucketClient extends java.lang.Object
Handles 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 void
addHeader(java.lang.String key, java.lang.String value)
Add the given key/value as a headerFhirServerResponse
get(java.lang.String url, java.util.function.Function<java.io.Reader,Resource> fn)
java.lang.String
getBaseUrl()
org.apache.http.pool.PoolStats
getPoolInformation()
Get statistics from the internal HTTP connection managervoid
init(java.lang.String tenantName)
Initialize the SSL connection pool after all the required field values have been injectedprotected org.apache.http.impl.client.CloseableHttpClient
obtainCloseableHttpClient(org.apache.http.conn.ConnectionKeepAliveStrategy connKeepAliveStrategy, ClientPropertyAdapter propertyAdapter)
Overridden by child classes for specialized behavior.FhirServerResponse
post(java.lang.String url, java.lang.String body)
Issue a POST request at the given urlprotected void
processOperationalOutcome(FhirServerResponse sr, org.apache.http.HttpEntity entity)
Extract the operational outcome message from the response entityFhirServerResponse
put(java.lang.String url, java.util.Map<java.lang.String,java.lang.String> headers, java.lang.String body)
void
shutdown()
-
-
-
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, java.util.function.Function<java.io.Reader,Resource> fn)
-
post
public FhirServerResponse post(java.lang.String url, java.lang.String body)
Issue a POST request at the given url- Parameters:
sUrl
-body
-- Returns:
-
put
public FhirServerResponse put(java.lang.String url, java.util.Map<java.lang.String,java.lang.String> headers, java.lang.String body)
-
shutdown
public void shutdown()
-
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
-
-