package com.koushikdutta.async.http.socketio;
import android.net.Uri;
import com.koushikdutta.async.http.AsyncHttpPost;
public class SocketIORequest extends AsyncHttpPost {
public SocketIORequest(String uri) {
this(uri, "");
}
Config config;
public Config getConfig() {
return config;
}
String endpoint;
public String getEndpoint() {
return endpoint;
}
String query;
public String getQuery() {
return query;
}
public SocketIORequest(String uri, String endpoint) {
this(uri, endpoint, null);
}
public SocketIORequest(String uri, String endpoint, String query) {
this(uri, endpoint, query, null);
}
public SocketIORequest(String uri, String endpoint, String query, Config config) {
super(Uri.parse(uri + (query == null ? "" : "?" + query)).buildUpon().encodedPath("/socket.io/1/").build().toString());
this.config = (config != null) ? config : new Config();
this.endpoint = endpoint;
this.query = query;
}
public static class Config {
boolean randomizeReconnectDelay = false;
public void setRandomizeReconnectDelay(boolean randomizeReconnectDelay) {
this.randomizeReconnectDelay = randomizeReconnectDelay;
}
public boolean isRandomizeReconnectDelay() {
return randomizeReconnectDelay;
}
long reconnectDelay = 1000L;
public void setReconnectDelay(long reconnectDelay) {
if (reconnectDelay < 0L) {
throw new IllegalArgumentException("reconnectDelay must be >= 0");
}
this.reconnectDelay = reconnectDelay;
}
public long getReconnectDelay() {
return reconnectDelay;
}
long reconnectDelayMax = 0L;
public void setReconnectDelayMax(long reconnectDelayMax) {
if (reconnectDelay < 0L) {
throw new IllegalArgumentException("reconnectDelayMax must be >= 0");
}
this.reconnectDelayMax = reconnectDelayMax;
}
public long getReconnectDelayMax() {
return reconnectDelayMax;
}
}
}