use of com.koushikdutta.async.http.AsyncHttpResponse in project AndroidAsync by koush.
the class MultipartTests method testUpload.
public void testUpload() throws Exception {
setUp();
try {
File dummy = getContext().getFileStreamPath("dummy.txt");
final String FIELD_VAL = "bar";
dummy.getParentFile().mkdirs();
FileOutputStream fout = new FileOutputStream(dummy);
byte[] zeroes = new byte[100000];
for (int i = 0; i < 10; i++) {
fout.write(zeroes);
}
fout.close();
// StreamUtility.writeFile(dummy, DUMMY_VAL);
AsyncHttpPost post = new AsyncHttpPost("http://localhost:5000");
MultipartFormDataBody body = new MultipartFormDataBody();
body.addStringPart("foo", FIELD_VAL);
body.addFilePart("my-file", dummy);
body.addStringPart("baz", FIELD_VAL);
post.setBody(body);
Future<String> ret = AsyncHttpClient.getDefaultInstance().executeString(post, new StringCallback() {
@Override
public void onCompleted(Exception e, AsyncHttpResponse source, String result) {
}
});
String data = ret.get(10000, TimeUnit.MILLISECONDS);
assertEquals(data, FIELD_VAL + (zeroes.length * 10) + FIELD_VAL);
} finally {
tearDown();
}
}
use of com.koushikdutta.async.http.AsyncHttpResponse in project AndroidAsync by koush.
the class AsyncProxyServer method onRequest.
@Override
protected void onRequest(HttpServerRequestCallback callback, AsyncHttpServerRequest request, final AsyncHttpServerResponse response) {
super.onRequest(callback, request, response);
if (callback != null)
return;
try {
Uri uri;
try {
uri = Uri.parse(request.getPath());
if (uri.getScheme() == null)
throw new Exception("no host or full uri provided");
} catch (Exception e) {
String host = request.getHeaders().get("Host");
int port = 80;
if (host != null) {
String[] splits = host.split(":", 2);
if (splits.length == 2) {
host = splits[0];
port = Integer.parseInt(splits[1]);
}
}
uri = Uri.parse("http://" + host + ":" + port + request.getPath());
}
proxyClient.execute(new AsyncHttpRequest(uri, request.getMethod(), request.getHeaders()), new HttpConnectCallback() {
@Override
public void onConnectCompleted(Exception ex, AsyncHttpResponse remoteResponse) {
if (ex != null) {
response.code(500);
response.send(ex.getMessage());
return;
}
response.proxy(remoteResponse);
}
});
} catch (Exception e) {
response.code(500);
response.send(e.getMessage());
}
}
use of com.koushikdutta.async.http.AsyncHttpResponse in project AndroidAsync by koush.
the class MainActivity method getChartFile.
private void getChartFile() {
final ImageView iv = chart;
final String filename = getFileStreamPath(randomFile()).getAbsolutePath();
ArrayList<NameValuePair> pairs = new ArrayList<NameValuePair>();
pairs.add(new BasicNameValuePair("cht", "lc"));
pairs.add(new BasicNameValuePair("chtt", "This is a google chart"));
pairs.add(new BasicNameValuePair("chs", "512x512"));
pairs.add(new BasicNameValuePair("chxt", "x"));
pairs.add(new BasicNameValuePair("chd", "t:40,20,50,20,100"));
UrlEncodedFormBody writer = new UrlEncodedFormBody(pairs);
try {
AsyncHttpPost post = new AsyncHttpPost("http://chart.googleapis.com/chart");
post.setBody(writer);
AsyncHttpClient.getDefaultInstance().executeFile(post, filename, new AsyncHttpClient.FileCallback() {
@Override
public void onCompleted(Exception e, AsyncHttpResponse response, File result) {
if (e != null) {
e.printStackTrace();
return;
}
Bitmap bitmap = BitmapFactory.decodeFile(filename);
result.delete();
if (bitmap == null)
return;
BitmapDrawable bd = new BitmapDrawable(bitmap);
assignImageView(iv, bd);
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}
Aggregations