aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidAsync/project.properties2
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClientMiddleware.java28
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/util/UntypedHashtable.java26
-rw-r--r--AndroidAsyncTest/project.properties2
-rw-r--r--AndroidAsyncTest/src/com/koushikdutta/async/test/HttpClientTests.java13
5 files changed, 44 insertions, 27 deletions
diff --git a/AndroidAsync/project.properties b/AndroidAsync/project.properties
index edc832b..fe357b1 100644
--- a/AndroidAsync/project.properties
+++ b/AndroidAsync/project.properties
@@ -11,7 +11,7 @@
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
-target=android-19
+target=android-L
android.library=true
diff --git a/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClientMiddleware.java b/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClientMiddleware.java
index 2f2e4a8..135ec69 100644
--- a/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClientMiddleware.java
+++ b/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClientMiddleware.java
@@ -5,33 +5,11 @@ import com.koushikdutta.async.DataEmitter;
import com.koushikdutta.async.callback.ConnectCallback;
import com.koushikdutta.async.future.Cancellable;
import com.koushikdutta.async.http.libcore.ResponseHeaders;
+import com.koushikdutta.async.util.UntypedHashtable;
import java.util.Hashtable;
public interface AsyncHttpClientMiddleware {
- public static class UntypedHashtable {
- private Hashtable<String, Object> hash = new Hashtable<String, Object>();
-
- public void put(String key, Object value) {
- hash.put(key, value);
- }
-
- public void remove(String key) {
- hash.remove(key);
- }
-
- public <T> T get(String key, T defaultValue) {
- T ret = get(key);
- if (ret == null)
- return defaultValue;
- return ret;
- }
-
- public <T> T get(String key) {
- return (T)hash.get(key);
- }
- }
-
public static class GetSocketData {
public UntypedHashtable state = new UntypedHashtable();
public AsyncHttpRequest request;
@@ -50,11 +28,11 @@ public interface AsyncHttpClientMiddleware {
public static class OnBodyData extends OnHeadersReceivedData {
public DataEmitter bodyEmitter;
}
-
+
public static class OnRequestCompleteData extends OnBodyData {
public Exception exception;
}
-
+
public Cancellable getSocket(GetSocketData data);
public void onSocket(OnSocketData data);
public void onHeadersReceived(OnHeadersReceivedData data);
diff --git a/AndroidAsync/src/com/koushikdutta/async/util/UntypedHashtable.java b/AndroidAsync/src/com/koushikdutta/async/util/UntypedHashtable.java
new file mode 100644
index 0000000..a159d97
--- /dev/null
+++ b/AndroidAsync/src/com/koushikdutta/async/util/UntypedHashtable.java
@@ -0,0 +1,26 @@
+package com.koushikdutta.async.util;
+
+import java.util.Hashtable;
+
+public class UntypedHashtable {
+ private Hashtable<String, Object> hash = new Hashtable<String, Object>();
+
+ public void put(String key, Object value) {
+ hash.put(key, value);
+ }
+
+ public void remove(String key) {
+ hash.remove(key);
+ }
+
+ public <T> T get(String key, T defaultValue) {
+ T ret = get(key);
+ if (ret == null)
+ return defaultValue;
+ return ret;
+ }
+
+ public <T> T get(String key) {
+ return (T)hash.get(key);
+ }
+} \ No newline at end of file
diff --git a/AndroidAsyncTest/project.properties b/AndroidAsyncTest/project.properties
index 7e931bf..0b8f301 100644
--- a/AndroidAsyncTest/project.properties
+++ b/AndroidAsyncTest/project.properties
@@ -11,5 +11,5 @@
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
-target=android-19
+target=android-L
android.library.reference.1=../AndroidAsync
diff --git a/AndroidAsyncTest/src/com/koushikdutta/async/test/HttpClientTests.java b/AndroidAsyncTest/src/com/koushikdutta/async/test/HttpClientTests.java
index ef80683..33761bf 100644
--- a/AndroidAsyncTest/src/com/koushikdutta/async/test/HttpClientTests.java
+++ b/AndroidAsyncTest/src/com/koushikdutta/async/test/HttpClientTests.java
@@ -17,9 +17,11 @@ import com.koushikdutta.async.http.AsyncHttpClient;
import com.koushikdutta.async.http.AsyncHttpClient.StringCallback;
import com.koushikdutta.async.http.AsyncHttpGet;
import com.koushikdutta.async.http.AsyncHttpHead;
+import com.koushikdutta.async.http.AsyncHttpPost;
import com.koushikdutta.async.http.AsyncHttpRequest;
import com.koushikdutta.async.http.AsyncHttpResponse;
import com.koushikdutta.async.http.ResponseCacheMiddleware;
+import com.koushikdutta.async.http.body.JSONObjectBody;
import com.koushikdutta.async.http.callback.HttpConnectCallback;
import com.koushikdutta.async.http.server.AsyncHttpServer;
import com.koushikdutta.async.http.server.AsyncHttpServerRequest;
@@ -29,6 +31,8 @@ import com.koushikdutta.async.http.server.HttpServerRequestCallback;
import junit.framework.Assert;
import junit.framework.TestCase;
+import org.json.JSONObject;
+
import java.io.File;
import java.util.concurrent.CancellationException;
import java.util.concurrent.ExecutionException;
@@ -346,4 +350,13 @@ public class HttpClientTests extends TestCase {
Future<String> str = AsyncHttpClient.getDefaultInstance().executeString(req, null);
assertTrue(TextUtils.isEmpty(str.get(TIMEOUT, TimeUnit.MILLISECONDS)));
}
+
+ public void testPostJsonObject() throws Exception {
+ JSONObject post = new JSONObject();
+ post.put("ping", "pong");
+ AsyncHttpPost p = new AsyncHttpPost("https://koush.clockworkmod.com/test/echo");
+ p.setBody(new JSONObjectBody(post));
+ JSONObject ret = AsyncHttpClient.getDefaultInstance().executeJSONObject(p, null).get();
+ assertEquals("pong", ret.getString("ping"));
+ }
}