Added Read and Connect Timeout to RestRequest

This commit is contained in:
Michael Hunger
2011-07-18 23:51:29 +02:00
parent cb2443ed32
commit 0198b67141

View File

@@ -29,9 +29,12 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.net.URLEncoder;
import java.util.Map;
import java.util.concurrent.TimeUnit;
public class RestRequest {
public static final int CONNECT_TIMEOUT = (int) TimeUnit.SECONDS.toMillis(30);
public static final int READ_TIMEOUT = (int) TimeUnit.SECONDS.toMillis(30);
private final URI baseUri;
private final Client client;
@@ -41,11 +44,25 @@ public class RestRequest {
public RestRequest( URI baseUri, String username, String password ) {
this.baseUri = uriWithoutSlash( baseUri );
client = Client.create();
if ( username != null ) client.addFilter( new HTTPBasicAuthFilter( username, password ) );
client = createClient();
addAuthFilter(username, password);
}
private void addAuthFilter(String username, String password) {
if (username == null) return;
client.addFilter( new HTTPBasicAuthFilter( username, password ) );
}
private Client createClient() {
Client client = Client.create();
client.setConnectTimeout(CONNECT_TIMEOUT);
client.setReadTimeout(READ_TIMEOUT);
return client;
}
private RestRequest( URI uri, Client client ) {
this.baseUri = uriWithoutSlash( uri );
this.client = client;