forked from loafle/openapi-generator-original
Added configurable timeout
This commit is contained in:
parent
92e7d0e69c
commit
407837ebe2
@ -49,6 +49,8 @@ public class ApiInvoker {
|
||||
|
||||
private Map<String, Authentication> authentications;
|
||||
|
||||
private int connectionTimeout;
|
||||
|
||||
/** Content type "text/plain" with UTF-8 encoding. */
|
||||
public static final ContentType TEXT_PLAIN_UTF8 = ContentType.create("text/plain", Consts.UTF_8);
|
||||
|
||||
@ -174,15 +176,15 @@ public class ApiInvoker {
|
||||
}
|
||||
|
||||
public static void initializeInstance() {
|
||||
initializeInstance(null, null, 0, null);
|
||||
initializeInstance(null);
|
||||
}
|
||||
|
||||
public static void initializeInstance(Cache cache) {
|
||||
initializeInstance(cache, null, 0, null);
|
||||
initializeInstance(cache, null, 0, null, 30);
|
||||
}
|
||||
|
||||
public static void initializeInstance(Cache cache, Network network, int threadPoolSize, ResponseDelivery delivery) {
|
||||
INSTANCE = new ApiInvoker(cache, network, threadPoolSize, delivery);
|
||||
public static void initializeInstance(Cache cache, Network network, int threadPoolSize, ResponseDelivery delivery, int connectionTimeout) {
|
||||
INSTANCE = new ApiInvoker(cache, network, threadPoolSize, delivery, connectionTimeout);
|
||||
setUserAgent("Android-Volley-Swagger");
|
||||
|
||||
// Setup authentications (key: authentication name, value: authentication).
|
||||
@ -199,7 +201,7 @@ public class ApiInvoker {
|
||||
INSTANCE.authentications = Collections.unmodifiableMap(INSTANCE.authentications);
|
||||
}
|
||||
|
||||
private ApiInvoker(Cache cache, Network network, int threadPoolSize, ResponseDelivery delivery) {
|
||||
private ApiInvoker(Cache cache, Network network, int threadPoolSize, ResponseDelivery delivery, int connectionTimeout) {
|
||||
if(cache == null) cache = new NoCache();
|
||||
if(network == null) {
|
||||
HttpStack stack = new HurlStack();
|
||||
@ -211,6 +213,7 @@ public class ApiInvoker {
|
||||
} else {
|
||||
initConnectionRequest(cache, network, threadPoolSize, delivery);
|
||||
}
|
||||
this.connectionTimeout = connectionTimeout;
|
||||
}
|
||||
|
||||
public static ApiInvoker getInstance() {
|
||||
@ -326,6 +329,14 @@ public class ApiInvoker {
|
||||
throw new RuntimeException("No API key authentication configured!");
|
||||
}
|
||||
|
||||
public void setConnectionTimeout(int connectionTimeout){
|
||||
this.connectionTimeout = connectionTimeout;
|
||||
}
|
||||
|
||||
public int getConnectionTimeout() {
|
||||
return connectionTimeout;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update query and header parameters based on authentication settings.
|
||||
*
|
||||
@ -344,7 +355,7 @@ public class ApiInvoker {
|
||||
Request request = createRequest(host, path, method, queryParams, body, headerParams, formParams, contentType, authNames, future, future);
|
||||
if(request != null) {
|
||||
mRequestQueue.add(request);
|
||||
return future.get(30, TimeUnit.SECONDS);
|
||||
return future.get(connectionTimeout, TimeUnit.SECONDS);
|
||||
} else return "no data";
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user