-
Notifications
You must be signed in to change notification settings - Fork 0
Custom Client
D edited this page Apr 28, 2019
·
4 revisions
public class Client {
public static AsterModule.Singleton getTypeA() {
return TypeA.INSTANCE;
}
private static class TypeA {
private final static AsterModule.Singleton INSTANCE = new AsterModule.Singleton() {
private OkHttpClient clientDefault = OkHttpClient.create(IClient.TYPE_NORMAL,
new Config().baseUrl("https://www.microsoft.com/")
.headers(new HeadersInterceptor.OnHeadInterceptor() {
@Override
public void intercept(Map<String, String> heads) {
// Add a dynamic request header such as token
heads.put("token", "008");
}
})
.connectTimeout(10 * 1000)
.readTimeout(10 * 1000)
.writeTimeout(10 * 1000)
.retryCount(3)
.retryDelayMillis(3 * 1000)
.sslSocketFactory(SSLUtil.getSslSocketFactory(null, null, null))
.log(true));
private OkHttpClient clientTransfer = OkHttpClient.create(IClient.TYPE_NORMAL,
new Config().baseUrl("https://www.microsoft.com/")
.connectTimeout(10 * 1000)
.readTimeout(10 * 1000)
.writeTimeout(10 * 1000)
.retryCount(0)
.retryDelayMillis(3 * 1000)
.sslSocketFactory(SSLUtil.getSslSocketFactory(null, null, null))
.log(false));
private OkHttpClient getClientDefault() {
return clientDefault;
}
private OkHttpClient getClientTransfer() {
return clientTransfer;
}
@Override
public GetRequest.Singleton get(String url) {
return new GetRequest.Singleton(url) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public GetRequest.Singleton get(String url, Params params) {
return new GetRequest.Singleton(url, params) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public PostRequest.Singleton post(String url) {
return new PostRequest.Singleton(url) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public PostRequest.Singleton post(String url, Params params) {
return new PostRequest.Singleton(url, params) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public PutRequest.Singleton put(String url) {
return new PutRequest.Singleton(url) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public PutRequest.Singleton put(String url, Params params) {
return new PutRequest.Singleton(url, params) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public HeadRequest.Singleton head(String url) {
return new HeadRequest.Singleton(url) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public DeleteRequest.Singleton delete(String url) {
return new DeleteRequest.Singleton(url) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public DeleteRequest.Singleton delete(String url, Params params) {
return new DeleteRequest.Singleton(url, params) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public OptionRequest.Singleton options(String url) {
return new OptionRequest.Singleton(url) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public OptionRequest.Singleton options(String url, Params params) {
return new OptionRequest.Singleton(url, params) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public PatchRequest.Singleton patch(String url) {
return new PatchRequest.Singleton(url) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public PatchRequest.Singleton patch(String url, Params params) {
return new PatchRequest.Singleton(url, params) {
@Override
protected OkHttpClient getClient() {
return getClientDefault();
}
};
}
@Override
public DownloadRequest.Singleton download(String url) {
return new DownloadRequest.Singleton(url) {
@Override
protected OkHttpClient getClient() {
return getClientTransfer();
}
};
}
@Override
public DownloadRequest.Singleton download(String url, Params params) {
return new DownloadRequest.Singleton(url, params) {
@Override
protected OkHttpClient getClient() {
return getClientTransfer();
}
};
}
@Override
public UploadRequest.Singleton upload(String url) {
return new UploadRequest.Singleton(url) {
@Override
protected OkHttpClient getClient() {
return getClientTransfer();
}
};
}
};
}
}
Client.getTypeA().get("https://www.microsoft.com/")
.request(new SimpleCallback<String>() {
@Override
public void onSuccess(String response) {
}
@Override
public void onError(Throwable e) {
}
});