Skip to content

Commit 18916c0

Browse files
author
Corey Downing and Rick Kawala
committed
Use Uri's raw path for creating GET string to avoid removing URL encoding
1 parent 3750d8c commit 18916c0

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public String getMethod() {
3434

3535
@Override
3636
public String toString() {
37-
String path = AsyncHttpRequest.this.getUri().getPath();
37+
String path = AsyncHttpRequest.this.getUri().getRawPath();
3838
if (path.length() == 0)
3939
path = "/";
4040
String query = AsyncHttpRequest.this.getUri().getRawQuery();

AndroidAsyncTest/src/com/koushikdutta/async/test/HttpClientTests.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,9 @@
1010
import com.koushikdutta.async.callback.DataCallback;
1111
import com.koushikdutta.async.future.Future;
1212
import com.koushikdutta.async.future.FutureCallback;
13-
import com.koushikdutta.async.http.AsyncHttpClient;
13+
import com.koushikdutta.async.http.*;
1414
import com.koushikdutta.async.http.AsyncHttpClient.DownloadCallback;
1515
import com.koushikdutta.async.http.AsyncHttpClient.StringCallback;
16-
import com.koushikdutta.async.http.AsyncHttpGet;
17-
import com.koushikdutta.async.http.AsyncHttpResponse;
18-
import com.koushikdutta.async.http.ResponseCacheMiddleware;
1916
import com.koushikdutta.async.http.callback.HttpConnectCallback;
2017
import com.koushikdutta.async.http.server.AsyncHttpServer;
2118
import com.koushikdutta.async.http.server.AsyncHttpServerRequest;
@@ -26,6 +23,7 @@
2623
import junit.framework.TestCase;
2724

2825
import java.io.File;
26+
import java.net.URI;
2927
import java.util.concurrent.CancellationException;
3028
import java.util.concurrent.ExecutionException;
3129
import java.util.concurrent.Semaphore;
@@ -330,4 +328,10 @@ public void onCompleted(Exception e, AsyncHttpResponse source, String result) {
330328
proxyServer.stop();
331329
}
332330
}
331+
332+
public void testUriPathWithSpaces() throws Exception {
333+
AsyncHttpRequest request = new AsyncHttpRequest(URI.create("http://jpkc.seiee.sjtu.edu.cn/ds/ds2/Course%20lecture/chapter%2010.pdf"), AsyncHttpGet.METHOD);
334+
String requestLine = request.getRequestLine().toString();
335+
assertEquals("GET /ds/ds2/Course%20lecture/chapter%2010.pdf HTTP/1.1", requestLine);
336+
}
333337
}

0 commit comments

Comments
 (0)