aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoushik Dutta <koushd@gmail.com>2015-05-27 23:48:49 -0700
committerKoushik Dutta <koushd@gmail.com>2015-05-27 23:48:49 -0700
commit4114e9f37b0a52af345c5f2f238da783a888e2ee (patch)
tree008ed8a071fb552a6de80969a55e3cd35001adcb
parent71a4ffff19186b9c9e89f0b20be032d43f71210f (diff)
downloadAndroidAsync-4114e9f37b0a52af345c5f2f238da783a888e2ee.tar.gz
AndroidAsync-4114e9f37b0a52af345c5f2f238da783a888e2ee.tar.bz2
AndroidAsync-4114e9f37b0a52af345c5f2f238da783a888e2ee.zip
mimes on streams.
no chunked necessary for connection:close
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/http/HttpTransportMiddleware.java6
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/http/body/StreamBody.java7
2 files changed, 11 insertions, 2 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/http/HttpTransportMiddleware.java b/AndroidAsync/src/com/koushikdutta/async/http/HttpTransportMiddleware.java
index 9dacb55..a1ee8ba 100644
--- a/AndroidAsync/src/com/koushikdutta/async/http/HttpTransportMiddleware.java
+++ b/AndroidAsync/src/com/koushikdutta/async/http/HttpTransportMiddleware.java
@@ -28,7 +28,11 @@ public class HttpTransportMiddleware extends SimpleMiddleware {
if (requestBody.length() >= 0) {
request.getHeaders().set("Content-Length", String.valueOf(requestBody.length()));
data.response.sink(data.socket);
- } else {
+ }
+ else if ("close".equals(request.getHeaders().get("Connection"))) {
+ data.response.sink(data.socket);
+ }
+ else {
request.getHeaders().set("Transfer-Encoding", "Chunked");
data.response.sink(new ChunkedOutputFilter(data.socket));
}
diff --git a/AndroidAsync/src/com/koushikdutta/async/http/body/StreamBody.java b/AndroidAsync/src/com/koushikdutta/async/http/body/StreamBody.java
index 13c15a7..4678d7a 100644
--- a/AndroidAsync/src/com/koushikdutta/async/http/body/StreamBody.java
+++ b/AndroidAsync/src/com/koushikdutta/async/http/body/StreamBody.java
@@ -11,6 +11,7 @@ import java.io.InputStream;
public class StreamBody implements AsyncHttpRequestBody<InputStream> {
InputStream stream;
int length;
+ String contentType = CONTENT_TYPE;
/**
* Construct an http body from a stream
@@ -35,7 +36,11 @@ public class StreamBody implements AsyncHttpRequestBody<InputStream> {
public static final String CONTENT_TYPE = "application/binary";
@Override
public String getContentType() {
- return CONTENT_TYPE;
+ return contentType;
+ }
+ public StreamBody setContentType(String contentType) {
+ this.contentType = contentType;
+ return this;
}
@Override