Skip to content

Commit d292ac2

Browse files
authored
Update RequestNetworkController.java
1 parent 10058ac commit d292ac2

File tree

1 file changed

+149
-152
lines changed

1 file changed

+149
-152
lines changed

app/src/main/java/com/aston/ParallelEnigma/RequestNetworkController.java

Lines changed: 149 additions & 152 deletions
Original file line numberDiff line numberDiff line change
@@ -25,156 +25,153 @@
2525
import okhttp3.Response;
2626

2727
public class RequestNetworkController {
28-
public static final String GET = "GET";
29-
public static final String POST = "POST";
30-
public static final String PUT = "PUT";
31-
public static final String DELETE = "DELETE";
32-
33-
public static final int REQUEST_PARAM = 0;
34-
public static final int REQUEST_BODY = 1;
35-
36-
private static final int SOCKET_TIMEOUT = 15000;
37-
private static final int READ_TIMEOUT = 25000;
38-
39-
protected OkHttpClient client;
40-
41-
private static RequestNetworkController mInstance;
42-
43-
public static synchronized RequestNetworkController getInstance() {
44-
if(mInstance == null) {
45-
mInstance = new RequestNetworkController();
46-
}
47-
return mInstance;
48-
}
49-
50-
private OkHttpClient getClient() {
51-
if (client == null) {
52-
OkHttpClient.Builder builder = new OkHttpClient.Builder();
53-
54-
try {
55-
final TrustManager[] trustAllCerts = new TrustManager[]{
56-
new X509TrustManager() {
57-
@Override
58-
public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType)
59-
throws CertificateException {
60-
}
61-
62-
@Override
63-
public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType)
64-
throws CertificateException {
65-
}
66-
67-
@Override
68-
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
69-
return new java.security.cert.X509Certificate[]{};
70-
}
71-
}
72-
};
73-
74-
final SSLContext sslContext = SSLContext.getInstance("TLS");
75-
sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
76-
final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
77-
builder.sslSocketFactory(sslSocketFactory, (X509TrustManager) trustAllCerts[0]);
78-
builder.connectTimeout(SOCKET_TIMEOUT, TimeUnit.MILLISECONDS);
79-
builder.readTimeout(READ_TIMEOUT, TimeUnit.MILLISECONDS);
80-
builder.writeTimeout(READ_TIMEOUT, TimeUnit.MILLISECONDS);
81-
builder.hostnameVerifier(new HostnameVerifier() {
82-
@Override
83-
public boolean verify(String hostname, SSLSession session) {
84-
return true;
85-
}
86-
});
87-
} catch (Exception e) {
88-
}
89-
90-
client = builder.build();
91-
}
92-
93-
return client;
94-
}
95-
96-
public void execute(final RequestNetwork requestNetwork, String method, String url, final String tag, final RequestNetwork.RequestListener requestListener) {
97-
Request.Builder reqBuilder = new Request.Builder();
98-
Headers.Builder headerBuilder = new Headers.Builder();
99-
100-
if(requestNetwork.getHeaders().size() > 0) {
101-
HashMap<String, Object> headers = requestNetwork.getHeaders();
102-
103-
for(HashMap.Entry<String, Object> header : headers.entrySet()) {
104-
headerBuilder.add(header.getKey(), String.valueOf(header.getValue()));
105-
}
106-
}
107-
108-
try {
109-
if (requestNetwork.getRequestType() == REQUEST_PARAM) {
110-
if (method.equals(GET)) {
111-
HttpUrl.Builder httpBuilder;
112-
113-
try {
114-
httpBuilder = HttpUrl.parse(url).newBuilder();
115-
} catch (NullPointerException ne) {
116-
throw new NullPointerException("unexpected url: " + url);
117-
}
118-
119-
if (requestNetwork.getParams().size() > 0) {
120-
HashMap<String, Object> params = requestNetwork.getParams();
121-
122-
for (HashMap.Entry<String, Object> param : params.entrySet()) {
123-
httpBuilder.addQueryParameter(param.getKey(), String.valueOf(param.getValue()));
124-
}
125-
}
126-
127-
reqBuilder.url(httpBuilder.build()).headers(headerBuilder.build()).get();
128-
} else {
129-
FormBody.Builder formBuilder = new FormBody.Builder();
130-
if (requestNetwork.getParams().size() > 0) {
131-
HashMap<String, Object> params = requestNetwork.getParams();
132-
133-
for (HashMap.Entry<String, Object> param : params.entrySet()) {
134-
formBuilder.add(param.getKey(), String.valueOf(param.getValue()));
135-
}
136-
}
137-
138-
RequestBody reqBody = formBuilder.build();
139-
140-
reqBuilder.url(url).headers(headerBuilder.build()).method(method, reqBody);
141-
}
142-
} else {
143-
RequestBody reqBody = RequestBody.create(okhttp3.MediaType.parse("application/json"), new Gson().toJson(requestNetwork.getParams()));
144-
145-
if (method.equals(GET)) {
146-
reqBuilder.url(url).headers(headerBuilder.build()).get();
147-
} else {
148-
reqBuilder.url(url).headers(headerBuilder.build()).method(method, reqBody);
149-
}
150-
}
151-
152-
Request req = reqBuilder.build();
153-
154-
getClient().newCall(req).enqueue(new Callback() {
155-
@Override
156-
public void onFailure(Call call, final IOException e) {
157-
requestNetwork.getActivity().runOnUiThread(new Runnable() {
158-
@Override
159-
public void run() {
160-
requestListener.onErrorResponse(tag, e.getMessage());
161-
}
162-
});
163-
}
164-
165-
@Override
166-
public void onResponse(Call call, final Response response) throws IOException {
167-
final String responseBody = response.body().string().trim();
168-
requestNetwork.getActivity().runOnUiThread(new Runnable() {
169-
@Override
170-
public void run() {
171-
requestListener.onResponse(tag, responseBody);
172-
}
173-
});
174-
}
175-
});
176-
} catch (Exception e) {
177-
requestListener.onErrorResponse(tag, e.getMessage());
178-
}
28+
public static final String GET = "GET";
29+
public static final String POST = "POST";
30+
public static final String PUT = "PUT";
31+
public static final String DELETE = "DELETE";
32+
33+
public static final int REQUEST_PARAM = 0;
34+
public static final int REQUEST_BODY = 1;
35+
36+
private static final int SOCKET_TIMEOUT = 15000;
37+
private static final int READ_TIMEOUT = 25000;
38+
39+
protected OkHttpClient client;
40+
41+
private static RequestNetworkController mInstance;
42+
43+
public static synchronized RequestNetworkController getInstance() {
44+
if (mInstance == null) {
45+
mInstance = new RequestNetworkController();
46+
}
47+
return mInstance;
48+
}
49+
50+
private OkHttpClient getClient() {
51+
if (client == null) {
52+
OkHttpClient.Builder builder = new OkHttpClient.Builder();
53+
54+
try {
55+
final TrustManager[] trustAllCerts = new TrustManager[] {
56+
new X509TrustManager() {
57+
@Override
58+
public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType)
59+
throws CertificateException {}
60+
61+
@Override
62+
public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType)
63+
throws CertificateException {}
64+
65+
@Override
66+
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
67+
return new java.security.cert.X509Certificate[] {};
68+
}
69+
}
70+
};
71+
72+
final SSLContext sslContext = SSLContext.getInstance("TLS");
73+
sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
74+
final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
75+
builder.sslSocketFactory(sslSocketFactory, (X509TrustManager) trustAllCerts[0]);
76+
builder.connectTimeout(SOCKET_TIMEOUT, TimeUnit.MILLISECONDS);
77+
builder.readTimeout(READ_TIMEOUT, TimeUnit.MILLISECONDS);
78+
builder.writeTimeout(READ_TIMEOUT, TimeUnit.MILLISECONDS);
79+
builder.hostnameVerifier(new HostnameVerifier() {
80+
@Override
81+
public boolean verify(String hostname, SSLSession session) {
82+
return true;
83+
}
84+
});
85+
} catch (Exception e) {}
86+
87+
client = builder.build();
88+
}
89+
90+
return client;
91+
}
92+
93+
public void execute(final RequestNetwork requestNetwork, String method, String url, final String tag, final RequestNetwork.RequestListener requestListener) {
94+
Request.Builder reqBuilder = new Request.Builder();
95+
Headers.Builder headerBuilder = new Headers.Builder();
96+
97+
if (requestNetwork.getHeaders().size() > 0) {
98+
HashMap < String, Object > headers = requestNetwork.getHeaders();
99+
100+
for (HashMap.Entry < String, Object > header: headers.entrySet()) {
101+
headerBuilder.add(header.getKey(), String.valueOf(header.getValue()));
102+
}
103+
}
104+
105+
try {
106+
if (requestNetwork.getRequestType() == REQUEST_PARAM) {
107+
if (method.equals(GET)) {
108+
HttpUrl.Builder httpBuilder;
109+
110+
try {
111+
httpBuilder = HttpUrl.parse(url).newBuilder();
112+
} catch (NullPointerException ne) {
113+
throw new NullPointerException("unexpected url: " + url);
114+
}
115+
116+
if (requestNetwork.getParams().size() > 0) {
117+
HashMap < String, Object > params = requestNetwork.getParams();
118+
119+
for (HashMap.Entry < String, Object > param: params.entrySet()) {
120+
httpBuilder.addQueryParameter(param.getKey(), String.valueOf(param.getValue()));
121+
}
122+
}
123+
124+
reqBuilder.url(httpBuilder.build()).headers(headerBuilder.build()).get();
125+
} else {
126+
FormBody.Builder formBuilder = new FormBody.Builder();
127+
if (requestNetwork.getParams().size() > 0) {
128+
HashMap < String, Object > params = requestNetwork.getParams();
129+
130+
for (HashMap.Entry < String, Object > param: params.entrySet()) {
131+
formBuilder.add(param.getKey(), String.valueOf(param.getValue()));
132+
}
133+
}
134+
135+
RequestBody reqBody = formBuilder.build();
136+
137+
reqBuilder.url(url).headers(headerBuilder.build()).method(method, reqBody);
138+
}
139+
} else {
140+
RequestBody reqBody = RequestBody.create(okhttp3.MediaType.parse("application/json"), new Gson().toJson(requestNetwork.getParams()));
141+
142+
if (method.equals(GET)) {
143+
reqBuilder.url(url).headers(headerBuilder.build()).get();
144+
} else {
145+
reqBuilder.url(url).headers(headerBuilder.build()).method(method, reqBody);
146+
}
147+
}
148+
149+
Request req = reqBuilder.build();
150+
151+
getClient().newCall(req).enqueue(new Callback() {
152+
@Override
153+
public void onFailure(Call call, final IOException e) {
154+
requestNetwork.getActivity().runOnUiThread(new Runnable() {
155+
@Override
156+
public void run() {
157+
requestListener.onErrorResponse(tag, e.getMessage());
158+
}
159+
});
160+
}
161+
162+
@Override
163+
public void onResponse(Call call, final Response response) throws IOException {
164+
final String responseBody = response.body().string().trim();
165+
requestNetwork.getActivity().runOnUiThread(new Runnable() {
166+
@Override
167+
public void run() {
168+
requestListener.onResponse(tag, responseBody);
169+
}
170+
});
171+
}
172+
});
173+
} catch (Exception e) {
174+
requestListener.onErrorResponse(tag, e.getMessage());
175+
}
176+
}
179177
}
180-
}

0 commit comments

Comments
 (0)