-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEasyHttp.java
More file actions
219 lines (151 loc) · 5.02 KB
/
Copy pathEasyHttp.java
File metadata and controls
219 lines (151 loc) · 5.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
package ly.moment.test;
/*
* Created by Salem Elmrayed on 7/12/2016.
* Simple way to send HTTP requests
* This based on volley
*
*/
import android.content.Context;
import com.android.volley.AuthFailureError;
import com.android.volley.NetworkResponse;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import java.util.Map;
public class EasyHttp {
public final static int GET = 0;
public final static int POST = 1;
public final static int PUT = 2;
public final static int DELETE = 3;
public final static int HEAD = 4;
public final static int OPTIONS = 5;
public final static int TRACE = 6;
public final static int PATCH = 7;
private Context con = null;
private String url = null;
private StringRequest stringRequest = null;
private boolean flag = false;
private int method;
private Map parameters = null;
private Map Headers = null;
private int responsecode;
private byte[] responsecontent;
private Map<String, String> responseheaders = null;
/**
* Set up request information.
*
* @param url Target url wich the request will be sent to
* @param cont The Activity that dealing with the response
* @param method The request method
*/
public EasyHttp(String url, Context cont, int method) {
this.con = cont;
this.url = url;
this.method = method;
}
/**
* Set up POST request parameters.
*
* @param parameters HashMap key : parametername , Value : the parameter values
*/
public void setParams(Map parameters) {
this.parameters = parameters;
}
/**
* Set up request header.
*
* @param header HashMap key : Header name , Value : Header value
*/
public void setRequestHeaders(Map header) {
this.Headers = header;
}
/**
* Get HTTP response code.
*/
private int getResponseCode() {
return this.responsecode;
}
/**
* Get HTTP response content.
*/
private byte[] getResponseContent() {
return this.responsecontent;
}
/**
* Get Context.
*/
protected Context getContext() {
return this.con;
}
/**
* Get HTTP response headers.
*/
private Map<String, String> getResponseHeaders() {
return this.responseheaders;
}
/**
* Send HTTP request to for expected response : text/html
*/
public void SendRequest() {
stringRequest = new StringRequest(this.method, this.url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Result handling
EasyHttp.this.handleResponse(response, EasyHttp.this.getResponseCode(), EasyHttp.this.getResponseHeaders());
EasyHttp.this.handleResponse(EasyHttp.this.getResponseContent(), EasyHttp.this.getResponseCode(), EasyHttp.this.getResponseHeaders());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
EasyHttp.this.handleErrorResponse(error);
}
}) {
@Override
protected Map<String, String> getParams() {
return EasyHttp.this.parameters;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
if (EasyHttp.this.Headers != null) {
return EasyHttp.this.Headers;
}
return super.getHeaders();
}
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
EasyHttp.this.responsecode = response.statusCode;
EasyHttp.this.responseheaders = response.headers;
EasyHttp.this.responsecontent = response.data;
return super.parseNetworkResponse(response);
}
};
Volley.newRequestQueue(con).add(stringRequest);
}
/**
* The response will be handled here
*
* @param responseContent The response body
* @param responseCode The HTTP response code
* @param responseHeaders The HTTP response headers
*/
protected void handleResponse(String responseContent, int responseCode, Map responseHeaders) {
}
/**
* The response will be handled here
*
* @param responseContent The response body as byte array
* @param responseCode The HTTP response code
* @param responseHeaders The HTTP response headers
*/
protected void handleResponse(byte[] responseContent, int responseCode, Map responseHeaders) {
}
/**
* When error happens this will be executed
*
* @param error The error information
*/
protected void handleErrorResponse(VolleyError error) {
}
}