|
7 | 7 | import org.apache.http.HttpVersion;
|
8 | 8 | import org.apache.http.client.config.RequestConfig;
|
9 | 9 | import org.apache.http.client.methods.RequestBuilder;
|
| 10 | +import org.apache.http.config.SocketConfig; |
10 | 11 | import org.apache.http.impl.client.HttpClientBuilder;
|
11 | 12 | import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
|
12 | 13 | import org.apache.http.message.BasicHeader;
|
|
21 | 22 |
|
22 | 23 | public class ValidationClient extends HttpClient {
|
23 | 24 |
|
24 |
| - private static final int CONNECTION_TIMEOUT = 10000; |
25 |
| - private static final int SOCKET_TIMEOUT = 30500; |
26 |
| - private static final RequestConfig DEFAULT_REQUEST_CONFIG = RequestConfig.custom() |
27 |
| - .setConnectTimeout(CONNECTION_TIMEOUT) |
28 |
| - .setSocketTimeout(SOCKET_TIMEOUT) |
29 |
| - .build();; |
30 |
| - |
31 | 25 | private final org.apache.http.client.HttpClient client;
|
32 | 26 |
|
33 | 27 | /**
|
34 | 28 | * Create a new ValidationClient.
|
35 | 29 | *
|
36 |
| - * @param accountSid Twilio Account SID |
37 |
| - * @param credentialSid Twilio Credential SID |
38 |
| - * @param signingKey Twilio Signing key |
39 |
| - * @param privateKey Private Key |
| 30 | + * @param accountSid Twilio Account SID |
| 31 | + * @param credentialSid Twilio Credential SID |
| 32 | + * @param signingKey Twilio Signing key |
| 33 | + * @param privateKey Private Key |
40 | 34 | */
|
41 |
| - public ValidationClient(String accountSid, String credentialSid, String signingKey, PrivateKey privateKey) { |
| 35 | + public ValidationClient(final String accountSid, |
| 36 | + final String credentialSid, |
| 37 | + final String signingKey, |
| 38 | + final PrivateKey privateKey) { |
42 | 39 | this(accountSid, credentialSid, signingKey, privateKey, DEFAULT_REQUEST_CONFIG);
|
43 | 40 | }
|
44 | 41 |
|
45 | 42 | /**
|
46 | 43 | * Create a new ValidationClient.
|
47 | 44 | *
|
48 |
| - * @param accountSid Twilio Account SID |
49 |
| - * @param credentialSid Twilio Credential SID |
50 |
| - * @param signingKey Twilio Signing key |
51 |
| - * @param privateKey Private Key |
52 |
| - * @param config HTTP Request Config |
| 45 | + * @param accountSid Twilio Account SID |
| 46 | + * @param credentialSid Twilio Credential SID |
| 47 | + * @param signingKey Twilio Signing key |
| 48 | + * @param privateKey Private Key |
| 49 | + * @param requestConfig HTTP Request Config |
| 50 | + */ |
| 51 | + public ValidationClient(final String accountSid, |
| 52 | + final String credentialSid, |
| 53 | + final String signingKey, |
| 54 | + final PrivateKey privateKey, |
| 55 | + final RequestConfig requestConfig) { |
| 56 | + this(accountSid, credentialSid, signingKey, privateKey, requestConfig, DEFAULT_SOCKET_CONFIG); |
| 57 | + } |
| 58 | + |
| 59 | + /** |
| 60 | + * Create a new ValidationClient. |
| 61 | + * |
| 62 | + * @param accountSid Twilio Account SID |
| 63 | + * @param credentialSid Twilio Credential SID |
| 64 | + * @param signingKey Twilio Signing key |
| 65 | + * @param privateKey Private Key |
| 66 | + * @param requestConfig HTTP Request Config |
| 67 | + * @param socketConfig HTTP Socket Config |
53 | 68 | */
|
54 |
| - public ValidationClient(String accountSid, String credentialSid, String signingKey, PrivateKey privateKey, RequestConfig config) { |
| 69 | + public ValidationClient(final String accountSid, |
| 70 | + final String credentialSid, |
| 71 | + final String signingKey, |
| 72 | + final PrivateKey privateKey, |
| 73 | + final RequestConfig requestConfig, |
| 74 | + final SocketConfig socketConfig) { |
55 | 75 | Collection<BasicHeader> headers = Arrays.asList(
|
56 | 76 | new BasicHeader("X-Twilio-Client", "java-" + Twilio.VERSION),
|
57 | 77 | new BasicHeader(HttpHeaders.USER_AGENT, "twilio-java/" + Twilio.VERSION + " (" + Twilio.JAVA_VERSION + ")"),
|
58 | 78 | new BasicHeader(HttpHeaders.ACCEPT, "application/json"),
|
59 | 79 | new BasicHeader(HttpHeaders.ACCEPT_ENCODING, "utf-8")
|
60 | 80 | );
|
61 | 81 |
|
| 82 | + final PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(); |
| 83 | + connectionManager.setDefaultSocketConfig(socketConfig); |
| 84 | + |
62 | 85 | client = HttpClientBuilder.create()
|
63 |
| - .setConnectionManager(new PoolingHttpClientConnectionManager()) |
64 |
| - .setDefaultRequestConfig(config) |
| 86 | + .setConnectionManager(connectionManager) |
| 87 | + .setDefaultRequestConfig(requestConfig) |
65 | 88 | .setDefaultHeaders(headers)
|
66 | 89 | .setMaxConnPerRoute(10)
|
67 | 90 | .addInterceptorLast(new ValidationInterceptor(accountSid, credentialSid, signingKey, privateKey))
|
|
0 commit comments