List of usage examples for org.apache.http.client.methods HttpUriRequest equals
public boolean equals(Object obj)
From source file:org.dojotoolkit.zazl.internal.XMLHttpRequestUtils.java
@SuppressWarnings({ "unchecked", "rawtypes" })
public static String xhrRequest(String shrDataString) {
InputStream is = null;/* ww w . j a v a 2s .co m*/
String json = null;
try {
logger.logp(Level.FINER, XMLHttpRequestUtils.class.getName(), "xhrRequest",
"shrDataString [" + shrDataString + "]");
Map<String, Object> xhrData = (Map<String, Object>) JSONParser.parse(new StringReader(shrDataString));
String url = (String) xhrData.get("url");
String method = (String) xhrData.get("method");
List headers = (List) xhrData.get("headers");
URL requestURL = createURL(url);
URI uri = new URI(requestURL.toString());
HashMap httpMethods = new HashMap(7);
httpMethods.put("DELETE", new HttpDelete(uri));
httpMethods.put("GET", new HttpGet(uri));
httpMethods.put("HEAD", new HttpHead(uri));
httpMethods.put("OPTIONS", new HttpOptions(uri));
httpMethods.put("POST", new HttpPost(uri));
httpMethods.put("PUT", new HttpPut(uri));
httpMethods.put("TRACE", new HttpTrace(uri));
HttpUriRequest request = (HttpUriRequest) httpMethods.get(method.toUpperCase());
if (request.equals(null)) {
throw new Error("SYNTAX_ERR");
}
for (Object header : headers) {
StringTokenizer st = new StringTokenizer((String) header, ":");
String name = st.nextToken();
String value = st.nextToken();
request.addHeader(name, value);
}
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(request);
Map headerMap = new HashMap();
HeaderIterator headerIter = response.headerIterator();
while (headerIter.hasNext()) {
Header header = headerIter.nextHeader();
headerMap.put(header.getName(), header.getValue());
}
int status = response.getStatusLine().getStatusCode();
String statusText = response.getStatusLine().toString();
is = response.getEntity().getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = br.readLine()) != null) {
sb.append(line);
sb.append('\n');
}
Map m = new HashMap();
m.put("status", new Integer(status));
m.put("statusText", statusText);
m.put("responseText", sb.toString());
m.put("headers", headerMap.toString());
StringWriter w = new StringWriter();
JSONSerializer.serialize(w, m);
json = w.toString();
logger.logp(Level.FINER, XMLHttpRequestUtils.class.getName(), "xhrRequest", "json [" + json + "]");
} catch (Throwable e) {
logger.logp(Level.SEVERE, XMLHttpRequestUtils.class.getName(), "xhrRequest",
"Failed request for [" + shrDataString + "]", e);
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
}
}
}
return json;
}