Merge pull request #42 from dfg-nota/bugfix/http

Fix Async.Http HEAD and DELETE on Android
This commit is contained in:
Hristo Hristov
2016-08-12 11:22:05 +03:00
committed by GitHub

View File

@@ -164,8 +164,9 @@ public class Async
public static class Http
{
private static final String DeleteMethod = "DELETE";
private static final String GetMethod = "GET";
private static final String DELETE_METHOD = "DELETE";
private static final String GET_METHOD = "GET";
private static final String HEAD_METHOD = "HEAD";
private static CookieManager cookieManager;
public static class KeyValuePair
@@ -399,7 +400,7 @@ public class Async
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// set the request method
String requestMethod = options.method != null ? options.method.toUpperCase(Locale.ENGLISH) : GetMethod;
String requestMethod = options.method != null ? options.method.toUpperCase(Locale.ENGLISH) : GET_METHOD;
connection.setRequestMethod(requestMethod);
// add the headers
@@ -412,7 +413,7 @@ public class Async
}
// Do not attempt to write the content (body) for DELETE method, Java will throw directly
if (requestMethod != DeleteMethod)
if (!requestMethod.equals(DELETE_METHOD))
{
options.writeContent(connection, openedStreams);
}
@@ -425,7 +426,10 @@ public class Async
// build the result
result.getHeaders(connection);
result.readResponseStream(connection, openedStreams, options);
if (!requestMethod.equals(HEAD_METHOD))
{
result.readResponseStream(connection, openedStreams, options);
}
// close the opened streams (saves copy-paste implementation
// in each method that throws IOException)