public class ApiClient extends Object
| Modifier and Type | Field and Description |
|---|---|
static int |
ANDROID_SDK_VERSION |
RequestTransactionMetrics |
apiRequestMetrics |
static boolean |
IS_ANDROID |
static double |
JAVA_VERSION |
static String |
LENIENT_DATETIME_FORMAT
The datetime format to be used when
lenientDatetimeFormat is
enabled. |
com.cybersource.authsdk.core.MerchantConfig |
merchantConfig |
String |
respBody |
InputStream |
responseBody |
String |
responseCode |
String |
status |
| Constructor and Description |
|---|
ApiClient() |
ApiClient(com.cybersource.authsdk.core.MerchantConfig merchantConfig) |
| Modifier and Type | Method and Description |
|---|---|
ApiClient |
addDefaultHeader(String key,
String value)
Add a default header.
|
okhttp3.Call |
buildCall(String path,
String method,
List<Pair> queryParams,
Object body,
Map<String,String> headerParams,
Map<String,Object> formParams,
String[] authNames,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build HTTP call with the given options.
|
okhttp3.Request |
buildRequest(String path,
String method,
List<Pair> queryParams,
Object body,
Map<String,String> headerParams,
Map<String,Object> formParams,
String[] authNames,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build an HTTP request with the given options.
|
okhttp3.RequestBody |
buildRequestBodyFormEncoding(Map<String,Object> formParams)
Build a form-encoding request body with the given form parameters.
|
okhttp3.RequestBody |
buildRequestBodyMultipart(Map<String,Object> formParams)
Build a multipart (file uploading) request body with the given form
parameters, which could contain text fields and file fields.
|
String |
buildUrl(String path,
List<Pair> queryParams)
Build full URL by concatenating base path, the given sub path and query
parameters.
|
void |
callAuthenticationHeader(String method,
String path,
Object body,
List<Pair> queryParams) |
<T> T |
deserialize(okhttp3.Response response,
Type returnType)
Deserialize response body to Java object, according to the return type
and the Content-Type response header.
|
File |
downloadFileFromResponse(okhttp3.Response response)
Download file from the given response.
|
String |
escapeString(String str)
Escape the given string to be used as URL query value.
|
<T> ApiResponse<T> |
execute(okhttp3.Call call)
|
<T> ApiResponse<T> |
execute(okhttp3.Call call,
Type returnType)
Execute HTTP call and deserialize the HTTP response body into the given
return type.
|
<T> void |
executeAsync(okhttp3.Call call,
ApiCallback<T> callback)
|
<T> void |
executeAsync(okhttp3.Call call,
Type returnType,
ApiCallback<T> callback)
Execute HTTP call asynchronously.
|
String |
formatDate(Date date)
Format the given Date object into string (Date format).
|
String |
formatDatetime(Date date)
Format the given Date object into string (Datetime format).
|
Authentication |
getAuthentication(String authName)
Get authentication for the given name.
|
Map<String,Authentication> |
getAuthentications()
Get authentications (key: authentication name, value: authentication).
|
String |
getBasePath()
Get base path
|
long |
getComputationStartTime() |
int |
getConnectTimeout()
Get connection timeout (in milliseconds).
|
DateFormat |
getDateFormat() |
DateFormat |
getDatetimeFormat() |
okhttp3.OkHttpClient |
getHttpClient()
Get HTTP client
|
JSON |
getJSON()
Get JSON
|
KeyManager[] |
getKeyManagers() |
InputStream |
getSslCaCert()
Get SSL CA cert.
|
String |
getTempFolderPath()
The path of temporary folder used to store downloaded files from
endpoints with file response.
|
String |
guessContentTypeFromFile(File file)
Guess Content-Type header from the given file (defaults to
"application/octet-stream").
|
<T> T |
handleResponse(okhttp3.Response response,
Type returnType)
Handle the given response, return the deserialized object when the
response is successful.
|
static okhttp3.OkHttpClient |
initializeFinalVariables() |
boolean |
isDebugging()
Check that whether debugging is enabled for this API client.
|
boolean |
isJsonMime(String mime)
Check if the given MIME is a JSON MIME.
|
boolean |
isLenientDatetimeFormat()
Whether to allow various ISO 8601 datetime formats when parsing a
datetime string.
|
boolean |
isLenientOnJson() |
boolean |
isVerifyingSsl()
True if isVerifyingSsl flag is on
|
List<Pair> |
parameterToPairs(String collectionFormat,
String name,
Object value)
Format to
Pair objects. |
String |
parameterToString(Object param)
Format the given parameter object into string.
|
Date |
parseDate(String str)
Parse the given date string into Date object.
|
Date |
parseDateOrDatetime(String str) |
Date |
parseDatetime(String str)
Parse the given datetime string into Date object.
|
File |
prepareDownloadFile(okhttp3.Response response)
Prepare file for download
|
void |
processHeaderParams(Map<String,String> headerParams,
okhttp3.Request.Builder reqBuilder)
Set header parameters to the request builder, including default headers.
|
void |
resetInstance() |
String |
sanitizeFilename(String filename)
Sanitize filename by removing path.
|
String |
selectHeaderAccept(String[] accepts)
Select the Accept header's value from the given accepts array: if JSON
exists in the given array, use it; otherwise use all of them (joining
into a string)
|
String |
selectHeaderContentType(String[] contentTypes)
Select the Content-Type header's value from the given array: if JSON
exists in the given array, use it; otherwise use the first one of the
array.
|
okhttp3.RequestBody |
serialize(Object obj,
String contentType)
Serialize the given Java object into request body according to the
object's class and the request Content-Type.
|
void |
setAcceptHeader(String acceptHeader) |
void |
setAccessToken(String accessToken)
Helper method to set access token for the first OAuth2 authentication.
|
void |
setApiKey(String apiKey)
Helper method to set API key value for the first API key authentication.
|
void |
setApiKeyPrefix(String apiKeyPrefix)
Helper method to set API key prefix for the first API key authentication.
|
ApiClient |
setBasePath(String basePath)
Set base path
|
void |
setComputationStartTime(long computationStartTime) |
ApiClient |
setConnectTimeout(int connectionTimeout)
Sets the connect timeout (in milliseconds).
|
ApiClient |
setDateFormat(DateFormat dateFormat) |
ApiClient |
setDatetimeFormat(DateFormat datetimeFormat) |
ApiClient |
setDebugging(boolean debugging)
Enable/disable debugging for this API client.
|
ApiClient |
setHttpClient(okhttp3.OkHttpClient httpClient)
Set HTTP client
|
ApiClient |
setJSON(JSON json)
Set JSON
|
ApiClient |
setKeyManagers(KeyManager[] managers)
Configure client keys to use for authorization in an SSL session.
|
ApiClient |
setLenientDatetimeFormat(boolean lenientDatetimeFormat) |
ApiClient |
setLenientOnJson(boolean lenient)
Set LenientOnJson
|
void |
setPassword(String password)
Helper method to set password for the first HTTP basic authentication.
|
ApiClient |
setSslCaCert(InputStream sslCaCert)
Configure the CA certificate to be trusted when making https requests.
|
ApiClient |
setTempFolderPath(String tempFolderPath)
Set the tempoaray folder path (for downloading files)
|
ApiClient |
setUserAgent(String userAgent)
Set the User-Agent header's value (by adding to the default header map).
|
void |
setUsername(String username)
Helper method to set username for the first HTTP basic authentication.
|
ApiClient |
setVerifyingSsl(boolean verifyingSsl)
Configure whether to verify certificate and hostname when making https
requests.
|
void |
updateParamsForAuth(String[] authNames,
List<Pair> queryParams,
Map<String,String> headerParams)
Update query and header parameters based on authentication settings.
|
public static final double JAVA_VERSION
public static final boolean IS_ANDROID
public static final int ANDROID_SDK_VERSION
public String responseCode
public String status
public InputStream responseBody
public String respBody
public com.cybersource.authsdk.core.MerchantConfig merchantConfig
public static final String LENIENT_DATETIME_FORMAT
lenientDatetimeFormat is
enabled.public RequestTransactionMetrics apiRequestMetrics
public ApiClient()
public ApiClient(com.cybersource.authsdk.core.MerchantConfig merchantConfig)
public static okhttp3.OkHttpClient initializeFinalVariables()
public String getBasePath()
public void setAcceptHeader(String acceptHeader)
acceptHeader - the acceptHeader to setpublic ApiClient setBasePath(String basePath)
basePath - Base path of the URL (e.g https://apitest.cybersource.com)public okhttp3.OkHttpClient getHttpClient()
public ApiClient setHttpClient(okhttp3.OkHttpClient httpClient)
httpClient - An instance of OkHttpClientpublic JSON getJSON()
public ApiClient setJSON(JSON json)
json - JSON objectpublic boolean isVerifyingSsl()
public ApiClient setVerifyingSsl(boolean verifyingSsl)
verifyingSsl - True to verify TLS/SSL connectionpublic InputStream getSslCaCert()
public ApiClient setSslCaCert(InputStream sslCaCert)
sslCaCert - input stream for SSL CA certpublic KeyManager[] getKeyManagers()
public ApiClient setKeyManagers(KeyManager[] managers)
managers - The KeyManagers to usepublic DateFormat getDateFormat()
public ApiClient setDateFormat(DateFormat dateFormat)
public DateFormat getDatetimeFormat()
public ApiClient setDatetimeFormat(DateFormat datetimeFormat)
public boolean isLenientDatetimeFormat()
parseDatetime(String)public ApiClient setLenientDatetimeFormat(boolean lenientDatetimeFormat)
public Date parseDate(String str)
dateFormat supports these ISO 8601 date formats: 2015-08-16
2015-8-16str - String to be parsedpublic Date parseDatetime(String str)
str - Date time string to be parsedpublic String formatDate(Date date)
date - Date objectpublic String formatDatetime(Date date)
date - Date objectpublic Map<String,Authentication> getAuthentications()
public Authentication getAuthentication(String authName)
authName - The authentication namepublic void setUsername(String username)
username - Usernamepublic void setPassword(String password)
password - Passwordpublic void setApiKey(String apiKey)
apiKey - API keypublic void setApiKeyPrefix(String apiKeyPrefix)
apiKeyPrefix - API key prefixpublic void setAccessToken(String accessToken)
accessToken - Access tokenpublic ApiClient setUserAgent(String userAgent)
userAgent - HTTP request's user agentpublic ApiClient addDefaultHeader(String key, String value)
key - The header's keyvalue - The header's valuepublic boolean isLenientOnJson()
public ApiClient setLenientOnJson(boolean lenient)
lenient - True to enable lenientOnJsonpublic boolean isDebugging()
public ApiClient setDebugging(boolean debugging)
debugging - To enable (true) or disable (false) debuggingpublic String getTempFolderPath()
null,
i.e. using the system's default tempopary folder.public ApiClient setTempFolderPath(String tempFolderPath)
tempFolderPath - Temporary folder pathpublic int getConnectTimeout()
public ApiClient setConnectTimeout(int connectionTimeout)
connectionTimeout - connection timeout in millisecondspublic long getComputationStartTime()
public void setComputationStartTime(long computationStartTime)
computationStartTime - the computationStartTime to setpublic void resetInstance()
public String parameterToString(Object param)
param - Parameterpublic List<Pair> parameterToPairs(String collectionFormat, String name, Object value)
Pair objects.collectionFormat - collection format (e.g. csv, tsv)name - Namevalue - Valuepublic String sanitizeFilename(String filename)
filename - The filename to be sanitizedpublic boolean isJsonMime(String mime)
mime - MIME (Multipurpose Internet Mail Extensions)public String selectHeaderAccept(String[] accepts)
accepts - The accepts array to select frompublic String selectHeaderContentType(String[] contentTypes)
contentTypes - The Content-Type array to select frompublic String escapeString(String str)
str - String to be escapedpublic <T> T deserialize(okhttp3.Response response,
Type returnType)
throws ApiException
T - Typeresponse - HTTP responsereturnType - The type of the Java objectApiException - If fail to deserialize response body, i.e. cannot read
response body or the Content-Type of the response is not
supported.public okhttp3.RequestBody serialize(Object obj, String contentType) throws ApiException
obj - The Java objectcontentType - The request Content-TypeApiException - If fail to serialize the given objectpublic File downloadFileFromResponse(okhttp3.Response response) throws ApiException
response - An instance of the Response objectApiException - If fail to read file content from response and write to diskpublic File prepareDownloadFile(okhttp3.Response response) throws IOException
response - An instance of the Response objectIOException - If fail to prepare file for downloadpublic <T> ApiResponse<T> execute(okhttp3.Call call) throws ApiException
T - Typecall - An instance of the Call objectApiException - If fail to execute the callpublic <T> ApiResponse<T> execute(okhttp3.Call call, Type returnType) throws ApiException
T - The return type corresponding to (same with) returnTypereturnType - The return type used to deserialize HTTP response bodycall - CallApiException - If fail to execute the callpublic <T> void executeAsync(okhttp3.Call call,
ApiCallback<T> callback)
T - Typecall - An instance of the Call objectcallback - ApiCallback<T>public <T> void executeAsync(okhttp3.Call call,
Type returnType,
ApiCallback<T> callback)
T - Typecall - The callback to be executed when the API call finishesreturnType - Return typecallback - ApiCallbackexecute(Call, Type)public <T> T handleResponse(okhttp3.Response response,
Type returnType)
throws ApiException
T - Typeresponse - ResponsereturnType - Return typeApiException - If the response has a unsuccessful status code or fail to
deserialize the response bodypublic okhttp3.Call buildCall(String path, String method, List<Pair> queryParams, Object body, Map<String,String> headerParams, Map<String,Object> formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
path - The sub-path of the HTTP URLmethod - The request method, one of "GET", "HEAD", "OPTIONS", "POST",
"PUT", "PATCH" and "DELETE"queryParams - The query parametersbody - The request body objectheaderParams - The header parametersformParams - The form parametersauthNames - The authentications to applyprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic void callAuthenticationHeader(String method, String path, Object body, List<Pair> queryParams)
public okhttp3.Request buildRequest(String path, String method, List<Pair> queryParams, Object body, Map<String,String> headerParams, Map<String,Object> formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
path - The sub-path of the HTTP URLmethod - The request method, one of "GET", "HEAD", "OPTIONS", "POST",
"PUT", "PATCH" and "DELETE"queryParams - The query parametersbody - The request body objectheaderParams - The header parametersformParams - The form parametersauthNames - The authentications to applyprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic String buildUrl(String path, List<Pair> queryParams)
path - The sub pathqueryParams - The query parameterspublic void processHeaderParams(Map<String,String> headerParams, okhttp3.Request.Builder reqBuilder)
headerParams - Header parameters in the ofrm of MapreqBuilder - Reqeust.Builderpublic void updateParamsForAuth(String[] authNames, List<Pair> queryParams, Map<String,String> headerParams)
authNames - The authentications to applyqueryParams - List of query parametersheaderParams - Map of header parameterspublic okhttp3.RequestBody buildRequestBodyFormEncoding(Map<String,Object> formParams)
formParams - Form parameters in the form of Mappublic okhttp3.RequestBody buildRequestBodyMultipart(Map<String,Object> formParams)
formParams - Form parameters in the form of MapCopyright © 2020. All rights reserved.