public class ApiClient
extends java.lang.Object
Constructor | Description |
---|---|
ApiClient() |
Modifier and Type | Method | Description |
---|---|---|
ApiClient |
addDefaultHeader(java.lang.String key,
java.lang.String value) |
Add a default header.
|
com.squareup.okhttp.Call |
buildCall(java.lang.String path,
java.lang.String method,
java.util.List<Pair> queryParams,
java.util.List<Pair> collectionQueryParams,
java.lang.Object body,
java.util.Map<java.lang.String,java.lang.String> headerParams,
java.util.Map<java.lang.String,java.lang.Object> formParams,
java.lang.String[] authNames,
ProgressRequestBody.ProgressRequestListener progressRequestListener) |
Build HTTP call with the given options.
|
com.squareup.okhttp.Request |
buildRequest(java.lang.String path,
java.lang.String method,
java.util.List<Pair> queryParams,
java.util.List<Pair> collectionQueryParams,
java.lang.Object body,
java.util.Map<java.lang.String,java.lang.String> headerParams,
java.util.Map<java.lang.String,java.lang.Object> formParams,
java.lang.String[] authNames,
ProgressRequestBody.ProgressRequestListener progressRequestListener) |
Build an HTTP request with the given options.
|
com.squareup.okhttp.RequestBody |
buildRequestBodyFormEncoding(java.util.Map<java.lang.String,java.lang.Object> formParams) |
Build a form-encoding request body with the given form parameters.
|
com.squareup.okhttp.RequestBody |
buildRequestBodyMultipart(java.util.Map<java.lang.String,java.lang.Object> formParams) |
Build a multipart (file uploading) request body with the given form parameters,
which could contain text fields and file fields.
|
java.lang.String |
buildUrl(java.lang.String path,
java.util.List<Pair> queryParams,
java.util.List<Pair> collectionQueryParams) |
Build full URL by concatenating base path, the given sub path and query parameters.
|
<T> T |
deserialize(com.squareup.okhttp.Response response,
java.lang.reflect.Type returnType) |
Deserialize response body to Java object, according to the return type and
the Content-Type response header.
|
java.io.File |
downloadFileFromResponse(com.squareup.okhttp.Response response) |
Download file from the given response.
|
java.lang.String |
escapeString(java.lang.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,
java.lang.reflect.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,
java.lang.reflect.Type returnType,
ApiCallback<T> callback) |
Execute HTTP call asynchronously.
|
Authentication |
getAuthentication(java.lang.String authName) |
Get authentication for the given name.
|
java.util.Map<java.lang.String,Authentication> |
getAuthentications() |
Get authentications (key: authentication name, value: authentication).
|
java.lang.String |
getBasePath() |
Get base path
|
int |
getConnectTimeout() |
Get connection timeout (in milliseconds).
|
java.text.DateFormat |
getDateFormat() |
|
com.squareup.okhttp.OkHttpClient |
getHttpClient() |
Get HTTP client
|
JSON |
getJSON() |
Get JSON
|
javax.net.ssl.KeyManager[] |
getKeyManagers() |
|
int |
getReadTimeout() |
Get read timeout (in milliseconds).
|
java.io.InputStream |
getSslCaCert() |
Get SSL CA cert.
|
java.lang.String |
getTempFolderPath() |
The path of temporary folder used to store downloaded files from endpoints
with file response.
|
int |
getWriteTimeout() |
Get write timeout (in milliseconds).
|
java.lang.String |
guessContentTypeFromFile(java.io.File file) |
Guess Content-Type header from the given file (defaults to "application/octet-stream").
|
<T> T |
handleResponse(com.squareup.okhttp.Response response,
java.lang.reflect.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(java.lang.String mime) |
Check if the given MIME is a JSON MIME.
|
boolean |
isVerifyingSsl() |
True if isVerifyingSsl flag is on
|
java.util.List<Pair> |
parameterToPair(java.lang.String name,
java.lang.Object value) |
Formats the specified query parameter to a list containing a single
Pair object. |
java.util.List<Pair> |
parameterToPairs(java.lang.String collectionFormat,
java.lang.String name,
java.util.Collection value) |
Formats the specified collection query parameters to a list of
Pair objects. |
java.lang.String |
parameterToString(java.lang.Object param) |
Format the given parameter object into string.
|
java.io.File |
prepareDownloadFile(com.squareup.okhttp.Response response) |
Prepare file for download
|
void |
processHeaderParams(java.util.Map<java.lang.String,java.lang.String> headerParams,
com.squareup.okhttp.Request.Builder reqBuilder) |
Set header parameters to the request builder, including default headers.
|
java.lang.String |
sanitizeFilename(java.lang.String filename) |
Sanitize filename by removing path.
|
java.lang.String |
selectHeaderAccept(java.lang.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)
|
java.lang.String |
selectHeaderContentType(java.lang.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(java.lang.Object obj,
java.lang.String contentType) |
Serialize the given Java object into request body according to the object's
class and the request Content-Type.
|
void |
setAccessToken(java.lang.String accessToken) |
Helper method to set access token for the first OAuth2 authentication.
|
void |
setApiKey(java.lang.String apiKey) |
Helper method to set API key value for the first API key authentication.
|
void |
setApiKeyPrefix(java.lang.String apiKeyPrefix) |
Helper method to set API key prefix for the first API key authentication.
|
ApiClient |
setBasePath(java.lang.String basePath) |
Set base path
|
ApiClient |
setConnectTimeout(int connectionTimeout) |
Sets the connect timeout (in milliseconds).
|
ApiClient |
setDateFormat(java.text.DateFormat dateFormat) |
|
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(javax.net.ssl.KeyManager[] managers) |
Configure client keys to use for authorization in an SSL session.
|
ApiClient |
setLenientOnJson(boolean lenientOnJson) |
|
ApiClient |
setLocalDateFormat(org.threeten.bp.format.DateTimeFormatter dateFormat) |
|
ApiClient |
setOffsetDateTimeFormat(org.threeten.bp.format.DateTimeFormatter dateFormat) |
|
void |
setPassword(java.lang.String password) |
Helper method to set password for the first HTTP basic authentication.
|
ApiClient |
setReadTimeout(int readTimeout) |
Sets the read timeout (in milliseconds).
|
ApiClient |
setSqlDateFormat(java.text.DateFormat dateFormat) |
|
ApiClient |
setSslCaCert(java.io.InputStream sslCaCert) |
Configure the CA certificate to be trusted when making https requests.
|
ApiClient |
setTempFolderPath(java.lang.String tempFolderPath) |
Set the temporary folder path (for downloading files)
|
ApiClient |
setUserAgent(java.lang.String userAgent) |
Set the User-Agent header's value (by adding to the default header map).
|
void |
setUsername(java.lang.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.
|
ApiClient |
setWriteTimeout(int writeTimeout) |
Sets the write timeout (in milliseconds).
|
void |
updateParamsForAuth(java.lang.String[] authNames,
java.util.List<Pair> queryParams,
java.util.Map<java.lang.String,java.lang.String> headerParams) |
Update query and header parameters based on authentication settings.
|
public java.lang.String getBasePath()
public ApiClient setBasePath(java.lang.String basePath)
basePath
- Base path of the URL (e.g https://app.launchdarkly.com/api/v2public 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 java.io.InputStream getSslCaCert()
public ApiClient setSslCaCert(java.io.InputStream sslCaCert)
sslCaCert
- input stream for SSL CA certpublic javax.net.ssl.KeyManager[] getKeyManagers()
public ApiClient setKeyManagers(javax.net.ssl.KeyManager[] managers)
managers
- The KeyManagers to usepublic java.text.DateFormat getDateFormat()
public ApiClient setDateFormat(java.text.DateFormat dateFormat)
public ApiClient setSqlDateFormat(java.text.DateFormat dateFormat)
public ApiClient setOffsetDateTimeFormat(org.threeten.bp.format.DateTimeFormatter dateFormat)
public ApiClient setLocalDateFormat(org.threeten.bp.format.DateTimeFormatter dateFormat)
public ApiClient setLenientOnJson(boolean lenientOnJson)
public java.util.Map<java.lang.String,Authentication> getAuthentications()
public Authentication getAuthentication(java.lang.String authName)
authName
- The authentication namepublic void setUsername(java.lang.String username)
username
- Usernamepublic void setPassword(java.lang.String password)
password
- Passwordpublic void setApiKey(java.lang.String apiKey)
apiKey
- API keypublic void setApiKeyPrefix(java.lang.String apiKeyPrefix)
apiKeyPrefix
- API key prefixpublic void setAccessToken(java.lang.String accessToken)
accessToken
- Access tokenpublic ApiClient setUserAgent(java.lang.String userAgent)
userAgent
- HTTP request's user agentpublic ApiClient addDefaultHeader(java.lang.String key, java.lang.String value)
key
- The header's keyvalue
- The header's valuepublic boolean isDebugging()
public ApiClient setDebugging(boolean debugging)
debugging
- To enable (true) or disable (false) debuggingpublic java.lang.String getTempFolderPath()
null
, i.e. using
the system's default tempopary folder.public ApiClient setTempFolderPath(java.lang.String tempFolderPath)
tempFolderPath
- Temporary folder pathpublic int getConnectTimeout()
public ApiClient setConnectTimeout(int connectionTimeout)
Integer.MAX_VALUE
.connectionTimeout
- connection timeout in millisecondspublic int getReadTimeout()
public ApiClient setReadTimeout(int readTimeout)
Integer.MAX_VALUE
.readTimeout
- read timeout in millisecondspublic int getWriteTimeout()
public ApiClient setWriteTimeout(int writeTimeout)
Integer.MAX_VALUE
.writeTimeout
- connection timeout in millisecondspublic java.lang.String parameterToString(java.lang.Object param)
param
- Parameterpublic java.util.List<Pair> parameterToPair(java.lang.String name, java.lang.Object value)
Pair
object.
Note that value
must not be a collection.name
- The name of the parameter.value
- The value of the parameter.Pair
object.public java.util.List<Pair> parameterToPairs(java.lang.String collectionFormat, java.lang.String name, java.util.Collection value)
Pair
objects.
Note that the values of each of the returned Pair objects are percent-encoded.collectionFormat
- The collection format of the parameter.name
- The name of the parameter.value
- The value of the parameter.Pair
objects.public java.lang.String sanitizeFilename(java.lang.String filename)
filename
- The filename to be sanitizedpublic boolean isJsonMime(java.lang.String mime)
mime
- MIME (Multipurpose Internet Mail Extensions)public java.lang.String selectHeaderAccept(java.lang.String[] accepts)
accepts
- The accepts array to select frompublic java.lang.String selectHeaderContentType(java.lang.String[] contentTypes)
contentTypes
- The Content-Type array to select frompublic java.lang.String escapeString(java.lang.String str)
str
- String to be escapedpublic <T> T deserialize(com.squareup.okhttp.Response response, java.lang.reflect.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(java.lang.Object obj, java.lang.String contentType) throws ApiException
obj
- The Java objectcontentType
- The request Content-TypeApiException
- If fail to serialize the given objectpublic java.io.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 java.io.File prepareDownloadFile(com.squareup.okhttp.Response response) throws java.io.IOException
response
- An instance of the Response objectjava.io.IOException
- 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, java.lang.reflect.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, java.lang.reflect.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, java.lang.reflect.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(java.lang.String path, java.lang.String method, java.util.List<Pair> queryParams, java.util.List<Pair> collectionQueryParams, java.lang.Object body, java.util.Map<java.lang.String,java.lang.String> headerParams, java.util.Map<java.lang.String,java.lang.Object> formParams, java.lang.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 parameterscollectionQueryParams
- The collection 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(java.lang.String path, java.lang.String method, java.util.List<Pair> queryParams, java.util.List<Pair> collectionQueryParams, java.lang.Object body, java.util.Map<java.lang.String,java.lang.String> headerParams, java.util.Map<java.lang.String,java.lang.Object> formParams, java.lang.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 parameterscollectionQueryParams
- The collection 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 java.lang.String buildUrl(java.lang.String path, java.util.List<Pair> queryParams, java.util.List<Pair> collectionQueryParams)
path
- The sub pathqueryParams
- The query parameterscollectionQueryParams
- The collection query parameterspublic void processHeaderParams(java.util.Map<java.lang.String,java.lang.String> headerParams, com.squareup.okhttp.Request.Builder reqBuilder)
headerParams
- Header parameters in the ofrm of MapreqBuilder
- Reqeust.Builderpublic void updateParamsForAuth(java.lang.String[] authNames, java.util.List<Pair> queryParams, java.util.Map<java.lang.String,java.lang.String> headerParams)
authNames
- The authentications to applyqueryParams
- List of query parametersheaderParams
- Map of header parameterspublic com.squareup.okhttp.RequestBody buildRequestBodyFormEncoding(java.util.Map<java.lang.String,java.lang.Object> formParams)
formParams
- Form parameters in the form of Mappublic com.squareup.okhttp.RequestBody buildRequestBodyMultipart(java.util.Map<java.lang.String,java.lang.Object> formParams)
formParams
- Form parameters in the form of Mappublic java.lang.String guessContentTypeFromFile(java.io.File file)
file
- The given file