Package com.vk.api.sdk.httpclient
Class HttpTransportClient
- java.lang.Object
-
- com.vk.api.sdk.httpclient.HttpTransportClient
-
- All Implemented Interfaces:
TransportClient
public class HttpTransportClient extends java.lang.Object implements TransportClient
Created by Anton Tsivarev on 11.09.15.
-
-
Field Summary
Fields Modifier and Type Field Description protected static intCONNECTION_TIMEOUT_MSprotected static java.lang.StringCONTENT_TYPE_HEADERprotected static intDEFAULT_RETRY_ATTEMPTS_NETWORK_ERROR_COUNTprotected static intDEFAULT_RETRY_INVALID_STATUS_COUNTprotected static java.lang.StringEMPTY_PAYLOADprotected static java.lang.StringENCODINGprotected static java.lang.StringFORM_CONTENT_TYPEprotected static intFULL_CONNECTION_TIMEOUT_Sprotected static org.apache.http.client.HttpClienthttpClientprotected static HttpTransportClientinstanceprotected static org.slf4j.LoggerLOGprotected static intMAX_SIMULTANEOUS_CONNECTIONSprotected intretryAttemptsInvalidStatusCountprotected intretryAttemptsNetworkErrorCountprotected static intSOCKET_TIMEOUT_MSprotected static ConnectionsSupervisorSUPERVISORprotected static java.lang.StringUSER_AGENT
-
Constructor Summary
Constructors Constructor Description HttpTransportClient()HttpTransportClient(int retryAttemptsNetworkErrorCount, int retryAttemptsInvalidStatusCount)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ClientResponsecall(org.apache.http.client.methods.HttpRequestBase request)protected ClientResponsecallWithStatusCheck(org.apache.http.client.methods.HttpRequestBase request)ClientResponsedelete(java.lang.String url)ClientResponsedelete(java.lang.String url, java.lang.String body)ClientResponsedelete(java.lang.String url, java.lang.String body, java.lang.String contentType)ClientResponsedelete(java.lang.String url, java.lang.String body, org.apache.http.Header[] headers)ClientResponseget(java.lang.String url)ClientResponseget(java.lang.String url, java.lang.String contentType)ClientResponseget(java.lang.String url, org.apache.http.Header[] headers)protected static java.util.Map<java.lang.String,java.lang.String>getHeaders(org.apache.http.Header[] headers)static HttpTransportClientgetInstance()protected java.lang.StringgetRequestPayload(org.apache.http.client.methods.HttpRequestBase request)protected booleanisInvalidGatewayStatus(int status)protected voidlogRequest(org.apache.http.client.methods.HttpRequestBase request)protected voidlogRequest(org.apache.http.client.methods.HttpRequestBase request, java.util.Map<java.lang.String,java.lang.String> requestHeaders, org.apache.http.HttpResponse response, java.util.Map<java.lang.String,java.lang.String> responseHeaders, java.lang.String body, java.lang.Long time)ClientResponsepost(java.lang.String url)ClientResponsepost(java.lang.String url, java.lang.String body)ClientResponsepost(java.lang.String url, java.lang.String fileName, java.io.File file)ClientResponsepost(java.lang.String url, java.lang.String body, java.lang.String contentType)ClientResponsepost(java.lang.String url, java.lang.String body, org.apache.http.Header[] headers)
-
-
-
Field Detail
-
LOG
protected static final org.slf4j.Logger LOG
-
ENCODING
protected static final java.lang.String ENCODING
- See Also:
- Constant Field Values
-
FORM_CONTENT_TYPE
protected static final java.lang.String FORM_CONTENT_TYPE
- See Also:
- Constant Field Values
-
CONTENT_TYPE_HEADER
protected static final java.lang.String CONTENT_TYPE_HEADER
- See Also:
- Constant Field Values
-
USER_AGENT
protected static final java.lang.String USER_AGENT
- See Also:
- Constant Field Values
-
EMPTY_PAYLOAD
protected static final java.lang.String EMPTY_PAYLOAD
- See Also:
- Constant Field Values
-
MAX_SIMULTANEOUS_CONNECTIONS
protected static final int MAX_SIMULTANEOUS_CONNECTIONS
- See Also:
- Constant Field Values
-
DEFAULT_RETRY_ATTEMPTS_NETWORK_ERROR_COUNT
protected static final int DEFAULT_RETRY_ATTEMPTS_NETWORK_ERROR_COUNT
- See Also:
- Constant Field Values
-
DEFAULT_RETRY_INVALID_STATUS_COUNT
protected static final int DEFAULT_RETRY_INVALID_STATUS_COUNT
- See Also:
- Constant Field Values
-
FULL_CONNECTION_TIMEOUT_S
protected static final int FULL_CONNECTION_TIMEOUT_S
- See Also:
- Constant Field Values
-
CONNECTION_TIMEOUT_MS
protected static final int CONNECTION_TIMEOUT_MS
- See Also:
- Constant Field Values
-
SOCKET_TIMEOUT_MS
protected static final int SOCKET_TIMEOUT_MS
- See Also:
- Constant Field Values
-
SUPERVISOR
protected static final ConnectionsSupervisor SUPERVISOR
-
instance
protected static HttpTransportClient instance
-
httpClient
protected static org.apache.http.client.HttpClient httpClient
-
retryAttemptsNetworkErrorCount
protected int retryAttemptsNetworkErrorCount
-
retryAttemptsInvalidStatusCount
protected int retryAttemptsInvalidStatusCount
-
-
Method Detail
-
getInstance
public static HttpTransportClient getInstance()
-
getHeaders
protected static java.util.Map<java.lang.String,java.lang.String> getHeaders(org.apache.http.Header[] headers)
-
callWithStatusCheck
protected ClientResponse callWithStatusCheck(org.apache.http.client.methods.HttpRequestBase request) throws java.io.IOException
- Throws:
java.io.IOException
-
isInvalidGatewayStatus
protected boolean isInvalidGatewayStatus(int status)
-
call
protected ClientResponse call(org.apache.http.client.methods.HttpRequestBase request) throws java.io.IOException
- Throws:
java.io.IOException
-
logRequest
protected void logRequest(org.apache.http.client.methods.HttpRequestBase request) throws java.io.IOException- Throws:
java.io.IOException
-
getRequestPayload
protected java.lang.String getRequestPayload(org.apache.http.client.methods.HttpRequestBase request) throws java.io.IOException- Throws:
java.io.IOException
-
logRequest
protected void logRequest(org.apache.http.client.methods.HttpRequestBase request, java.util.Map<java.lang.String,java.lang.String> requestHeaders, org.apache.http.HttpResponse response, java.util.Map<java.lang.String,java.lang.String> responseHeaders, java.lang.String body, java.lang.Long time) throws java.io.IOException- Throws:
java.io.IOException
-
get
public ClientResponse get(java.lang.String url) throws java.io.IOException
- Specified by:
getin interfaceTransportClient- Throws:
java.io.IOException
-
get
public ClientResponse get(java.lang.String url, java.lang.String contentType) throws java.io.IOException
- Specified by:
getin interfaceTransportClient- Throws:
java.io.IOException
-
get
public ClientResponse get(java.lang.String url, org.apache.http.Header[] headers) throws java.io.IOException
- Specified by:
getin interfaceTransportClient- Throws:
java.io.IOException
-
post
public ClientResponse post(java.lang.String url) throws java.io.IOException
- Specified by:
postin interfaceTransportClient- Throws:
java.io.IOException
-
post
public ClientResponse post(java.lang.String url, java.lang.String body) throws java.io.IOException
- Specified by:
postin interfaceTransportClient- Throws:
java.io.IOException
-
post
public ClientResponse post(java.lang.String url, java.lang.String body, java.lang.String contentType) throws java.io.IOException
- Specified by:
postin interfaceTransportClient- Throws:
java.io.IOException
-
post
public ClientResponse post(java.lang.String url, java.lang.String body, org.apache.http.Header[] headers) throws java.io.IOException
- Specified by:
postin interfaceTransportClient- Throws:
java.io.IOException
-
post
public ClientResponse post(java.lang.String url, java.lang.String fileName, java.io.File file) throws java.io.IOException
- Specified by:
postin interfaceTransportClient- Throws:
java.io.IOException
-
delete
public ClientResponse delete(java.lang.String url) throws java.io.IOException
- Specified by:
deletein interfaceTransportClient- Throws:
java.io.IOException
-
delete
public ClientResponse delete(java.lang.String url, java.lang.String body) throws java.io.IOException
- Specified by:
deletein interfaceTransportClient- Throws:
java.io.IOException
-
delete
public ClientResponse delete(java.lang.String url, java.lang.String body, java.lang.String contentType) throws java.io.IOException
- Specified by:
deletein interfaceTransportClient- Throws:
java.io.IOException
-
delete
public ClientResponse delete(java.lang.String url, java.lang.String body, org.apache.http.Header[] headers) throws java.io.IOException
- Specified by:
deletein interfaceTransportClient- Throws:
java.io.IOException
-
-