public class ApiClient extends Object
Modifier and Type | Field and Description |
---|---|
static int |
ANDROID_SDK_VERSION |
static boolean |
IS_ANDROID |
static double |
JAVA_VERSION |
static String |
LENIENT_DATETIME_FORMAT
The datetime format to be used when
lenientDatetimeFormat is enabled. |
Constructor and Description |
---|
ApiClient() |
Modifier and Type | Method and Description |
---|---|
ApiClient |
addDefaultHeader(String key,
String value)
Add a default header.
|
com.squareup.okhttp.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.
|
com.squareup.okhttp.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.
|
com.squareup.okhttp.RequestBody |
buildRequestBodyFormEncoding(Map<String,Object> formParams)
Build a form-encoding request body with the given form parameters.
|
com.squareup.okhttp.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.
|
<T> T |
deserialize(com.squareup.okhttp.Response response,
Type returnType)
Deserialize response body to Java object, according to the return type and
the Content-Type response header.
|
File |
downloadFileFromResponse(com.squareup.okhttp.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(com.squareup.okhttp.Call call)
|
<T> ApiResponse<T> |
execute(com.squareup.okhttp.Call call,
Type returnType)
Execute HTTP call and deserialize the HTTP response body into the given return type.
|
<T> void |
executeAsync(com.squareup.okhttp.Call call,
ApiCallback<T> callback)
|
<T> void |
executeAsync(com.squareup.okhttp.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
|
int |
getConnectTimeout()
Get connection timeout (in milliseconds).
|
DateFormat |
getDateFormat() |
DateFormat |
getDatetimeFormat() |
com.squareup.okhttp.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(com.squareup.okhttp.Response response,
Type returnType)
Handle the given response, return the deserialized object when the response is successful.
|
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(com.squareup.okhttp.Response response)
Prepare file for download
|
void |
processHeaderParams(Map<String,String> headerParams,
com.squareup.okhttp.Request.Builder reqBuilder)
Set header parameters to the request builder, including default headers.
|
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.
|
com.squareup.okhttp.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 |
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
|
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(com.squareup.okhttp.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 static final String LENIENT_DATETIME_FORMAT
lenientDatetimeFormat
is enabled.public String getBasePath()
public ApiClient setBasePath(String basePath)
basePath
- Base path of the URL (e.g https://localhost/api/v33public com.squareup.okhttp.OkHttpClient getHttpClient()
public ApiClient setHttpClient(com.squareup.okhttp.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 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(com.squareup.okhttp.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 com.squareup.okhttp.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(com.squareup.okhttp.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(com.squareup.okhttp.Response response) throws IOException
response
- An instance of the Response objectIOException
- If fail to prepare file for downloadpublic <T> ApiResponse<T> execute(com.squareup.okhttp.Call call) throws ApiException
T
- Typecall
- An instance of the Call objectApiException
- If fail to execute the callpublic <T> ApiResponse<T> execute(com.squareup.okhttp.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(com.squareup.okhttp.Call call, ApiCallback<T> callback)
T
- Typecall
- An instance of the Call objectcallback
- ApiCallback<T>public <T> void executeAsync(com.squareup.okhttp.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(com.squareup.okhttp.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 com.squareup.okhttp.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 com.squareup.okhttp.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, com.squareup.okhttp.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 com.squareup.okhttp.RequestBody buildRequestBodyFormEncoding(Map<String,Object> formParams)
formParams
- Form parameters in the form of Mappublic com.squareup.okhttp.RequestBody buildRequestBodyMultipart(Map<String,Object> formParams)
formParams
- Form parameters in the form of MapCopyright © 2019. All rights reserved.