![JAR search and dependency download from the Maven repository](/logo.png)
com.twilio.sdk.client.TwilioRestClient Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of twilio-java-sdk Show documentation
Show all versions of twilio-java-sdk Show documentation
Java helper library for Twilio services
The newest version!
package com.twilio.sdk.client;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Predicate;
import com.twilio.sdk.http.HttpClient;
import com.twilio.sdk.http.NetworkHttpClient;
import com.twilio.sdk.http.Request;
import com.twilio.sdk.http.Response;
public class TwilioRestClient {
public static final int HTTP_STATUS_CODE_CREATED = 201;
public static final int HTTP_STATUS_CODE_NO_CONTENT = 204;
public static final int HTTP_STATUS_CODE_OK = 200;
public static final Predicate SUCCESS = new Predicate() {
@Override
public boolean apply(Integer i) {
return i != null && i >= 200 && i < 300;
}
};
public enum Domains {
API("api"),
CONVERSATIONS("conversations"),
LOOKUPS("lookups"),
MONITOR("monitor"),
PRICING("pricing"),
TASKROUTER("taskrouter"),
TRUNKING("trunking"),
IPMESSAGING("ip-messaging"),
NOTIFICATIONS("notifications"),
PREVIEW("preview");
private final String domain;
Domains(final String domain) {
this.domain = domain;
}
public String toString() {
return domain;
}
}
private HttpClient httpClient;
private final ObjectMapper objectMapper;
private final String username;
private final String password;
private final String accountSid;
/**
* Create a Rest Client.
*
* @param username Twilio username
* @param password Twilio password
*/
public TwilioRestClient(final String username, final String password) {
this(username, password, username, new NetworkHttpClient());
}
/**
* Create a Rest Client using a custom HTTP Client.
*
* @param username Twilio username
* @param password Twilio password
* @param accountSid Twilio account sid
*/
public TwilioRestClient(final String username, final String password, final String accountSid) {
this(username, password, accountSid, new NetworkHttpClient());
}
/**
* Create a Rest Client using a custom HTTP Client.
*
* @param username Twilio username
* @param password Twilio password
* @param accountSid Twilio account sid
* @param httpClient Custom HTTP Client
*/
public TwilioRestClient(
final String username,
final String password,
final String accountSid,
final HttpClient httpClient
) {
this.username = username;
this.password = password;
this.accountSid = accountSid;
this.httpClient = httpClient;
this.objectMapper = new ObjectMapper();
}
/**
* Make a request to Twilio.
*
* @param request request to make
* @return Response object
*/
public Response request(final Request request) {
request.setAuth(username, password);
return httpClient.reliableRequest(request);
}
public String getAccountSid() {
return accountSid;
}
public ObjectMapper getObjectMapper() {
return objectMapper;
}
public HttpClient getHttpClient() {
return httpClient;
}
public void setHttpClient(final HttpClient httpClient) {
this.httpClient = httpClient;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy