Skip to content

Commit e2d7f0c

Browse files
committed
Normalize URL before request, removing # fragment part of URL, Closing android-async-http#479
1 parent eeb3caf commit e2d7f0c

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

library/src/main/java/com/loopj/android/http/AsyncHttpClient.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
import java.io.IOException;
6565
import java.io.InputStream;
6666
import java.io.OutputStream;
67+
import java.net.URI;
6768
import java.util.HashMap;
6869
import java.util.Iterator;
6970
import java.util.LinkedList;
@@ -717,7 +718,7 @@ public RequestHandle post(Context context, String url, RequestParams params, Res
717718
* @return RequestHandle of future request process
718719
*/
719720
public RequestHandle post(Context context, String url, HttpEntity entity, String contentType, ResponseHandlerInterface responseHandler) {
720-
return sendRequest(httpClient, httpContext, addEntityToRequestBase(new HttpPost(url), entity), contentType, responseHandler, context);
721+
return sendRequest(httpClient, httpContext, addEntityToRequestBase(new HttpPost(URI.create(url).normalize()), entity), contentType, responseHandler, context);
721722
}
722723

723724
/**
@@ -735,7 +736,7 @@ public RequestHandle post(Context context, String url, HttpEntity entity, String
735736
*/
736737
public RequestHandle post(Context context, String url, Header[] headers, RequestParams params, String contentType,
737738
ResponseHandlerInterface responseHandler) {
738-
HttpEntityEnclosingRequestBase request = new HttpPost(url);
739+
HttpEntityEnclosingRequestBase request = new HttpPost(URI.create(url).normalize());
739740
if (params != null) request.setEntity(paramsToEntity(params, responseHandler));
740741
if (headers != null) request.setHeaders(headers);
741742
return sendRequest(httpClient, httpContext, request, contentType,
@@ -759,7 +760,7 @@ public RequestHandle post(Context context, String url, Header[] headers, Request
759760
*/
760761
public RequestHandle post(Context context, String url, Header[] headers, HttpEntity entity, String contentType,
761762
ResponseHandlerInterface responseHandler) {
762-
HttpEntityEnclosingRequestBase request = addEntityToRequestBase(new HttpPost(url), entity);
763+
HttpEntityEnclosingRequestBase request = addEntityToRequestBase(new HttpPost(URI.create(url).normalize()), entity);
763764
if (headers != null) request.setHeaders(headers);
764765
return sendRequest(httpClient, httpContext, request, contentType, responseHandler, context);
765766
}
@@ -818,7 +819,7 @@ public RequestHandle put(Context context, String url, RequestParams params, Resp
818819
* @return RequestHandle of future request process
819820
*/
820821
public RequestHandle put(Context context, String url, HttpEntity entity, String contentType, ResponseHandlerInterface responseHandler) {
821-
return sendRequest(httpClient, httpContext, addEntityToRequestBase(new HttpPut(url), entity), contentType, responseHandler, context);
822+
return sendRequest(httpClient, httpContext, addEntityToRequestBase(new HttpPut(URI.create(url).normalize()), entity), contentType, responseHandler, context);
822823
}
823824

824825
/**
@@ -837,7 +838,7 @@ public RequestHandle put(Context context, String url, HttpEntity entity, String
837838
* @return RequestHandle of future request process
838839
*/
839840
public RequestHandle put(Context context, String url, Header[] headers, HttpEntity entity, String contentType, ResponseHandlerInterface responseHandler) {
840-
HttpEntityEnclosingRequestBase request = addEntityToRequestBase(new HttpPut(url), entity);
841+
HttpEntityEnclosingRequestBase request = addEntityToRequestBase(new HttpPut(URI.create(url).normalize()), entity);
841842
if (headers != null) request.setHeaders(headers);
842843
return sendRequest(httpClient, httpContext, request, contentType, responseHandler, context);
843844
}
@@ -865,7 +866,7 @@ public RequestHandle delete(String url, ResponseHandlerInterface responseHandler
865866
* @return RequestHandle of future request process
866867
*/
867868
public RequestHandle delete(Context context, String url, ResponseHandlerInterface responseHandler) {
868-
final HttpDelete delete = new HttpDelete(url);
869+
final HttpDelete delete = new HttpDelete(URI.create(url).normalize());
869870
return sendRequest(httpClient, httpContext, delete, null, responseHandler, context);
870871
}
871872

@@ -879,7 +880,7 @@ public RequestHandle delete(Context context, String url, ResponseHandlerInterfac
879880
* @return RequestHandle of future request process
880881
*/
881882
public RequestHandle delete(Context context, String url, Header[] headers, ResponseHandlerInterface responseHandler) {
882-
final HttpDelete delete = new HttpDelete(url);
883+
final HttpDelete delete = new HttpDelete(URI.create(url).normalize());
883884
if (headers != null) delete.setHeaders(headers);
884885
return sendRequest(httpClient, httpContext, delete, null, responseHandler, context);
885886
}

0 commit comments

Comments
 (0)