From 65ef7896a1c0e181d30d6efa95c7dc12113a3c18 Mon Sep 17 00:00:00 2001 From: moeiniamir Date: Wed, 24 Jun 2020 18:14:48 +0430 Subject: [PATCH 1/4] add setMethod to RequestBuilder interface and its implementation in IonRequestBuilder --- ion/src/com/koushikdutta/ion/IonRequestBuilder.java | 7 +++++++ ion/src/com/koushikdutta/ion/builder/RequestBuilder.java | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/ion/src/com/koushikdutta/ion/IonRequestBuilder.java b/ion/src/com/koushikdutta/ion/IonRequestBuilder.java index 83b0e410..f59a9b46 100644 --- a/ion/src/com/koushikdutta/ion/IonRequestBuilder.java +++ b/ion/src/com/koushikdutta/ion/IonRequestBuilder.java @@ -114,6 +114,13 @@ public IonRequestBuilder load(String method, String url) { return loadInternal(method, url); } + @Override + public R setMethod(String method) { + methodWasSet = true; + this.method = method; + return this; + } + @Override public IonRequestBuilder load(AsyncHttpRequest request) { headers = new Headers(request.getHeaders().getMultiMap()); diff --git a/ion/src/com/koushikdutta/ion/builder/RequestBuilder.java b/ion/src/com/koushikdutta/ion/builder/RequestBuilder.java index d4ad2e51..0d24efc6 100644 --- a/ion/src/com/koushikdutta/ion/builder/RequestBuilder.java +++ b/ion/src/com/koushikdutta/ion/builder/RequestBuilder.java @@ -107,6 +107,13 @@ public interface RequestBuilder Date: Wed, 24 Jun 2020 18:15:39 +0430 Subject: [PATCH 2/4] add formatted load to LoadBuilder interface and its implementation to IonRequestBuilder --- ion/src/com/koushikdutta/ion/IonRequestBuilder.java | 5 +++++ ion/src/com/koushikdutta/ion/builder/LoadBuilder.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/ion/src/com/koushikdutta/ion/IonRequestBuilder.java b/ion/src/com/koushikdutta/ion/IonRequestBuilder.java index f59a9b46..b1cfd09f 100644 --- a/ion/src/com/koushikdutta/ion/IonRequestBuilder.java +++ b/ion/src/com/koushikdutta/ion/IonRequestBuilder.java @@ -121,6 +121,11 @@ public R setMethod(String method) { return this; } + @Override + public IonRequestBuilder load(String format, String... args) { + return load(String.format(format, args)); + } + @Override public IonRequestBuilder load(AsyncHttpRequest request) { headers = new Headers(request.getHeaders().getMultiMap()); diff --git a/ion/src/com/koushikdutta/ion/builder/LoadBuilder.java b/ion/src/com/koushikdutta/ion/builder/LoadBuilder.java index 5c963c68..7c3cbdb7 100644 --- a/ion/src/com/koushikdutta/ion/builder/LoadBuilder.java +++ b/ion/src/com/koushikdutta/ion/builder/LoadBuilder.java @@ -15,6 +15,13 @@ public interface LoadBuilder { */ public B load(String uri); + /** + * @param format Format string in C's printf style. + * @param args Arguments referenced by the format specifiers in the format string. + * @return + */ + public B load(String format, String... args); + /** * Load an url using the given an HTTP method such as GET or POST. * @param method HTTP method such as GET or POST. From e8a7fbe0d197a75cd93668581807a58f85f4c6e5 Mon Sep 17 00:00:00 2001 From: moeiniamir Date: Wed, 24 Jun 2020 18:27:27 +0430 Subject: [PATCH 3/4] add test for formatted load --- ion/test/src/com/koushikdutta/ion/test/Issues.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ion/test/src/com/koushikdutta/ion/test/Issues.java b/ion/test/src/com/koushikdutta/ion/test/Issues.java index 20f2b70f..fd252b26 100644 --- a/ion/test/src/com/koushikdutta/ion/test/Issues.java +++ b/ion/test/src/com/koushikdutta/ion/test/Issues.java @@ -388,4 +388,14 @@ public void testIssue760() throws Exception { + "} should be equal to {Pixel(35,200,5): " + Integer.toHexString(frame5Pixel) + "}"; Assert.assertEquals(assertionMessage, frame4Pixel, frame5Pixel); } + + public void testIssue365() throw Exception { + String noFormatting = Ion.with(getContext()).load("https://raw.githubusercontent.com/koush/AndroidAsync/master/AndroidAsync/test/assets/test.json") + .asString().get(); + String username = "koush"; + String withFormatting = Ion.with(getContext()).load( + "https://raw.githubusercontent.com/%s/AndroidAsync/master/AndroidAsync/test/assets/test.json", + username) + .asString().get(); + } } From 551a514129771cba1f7e5e580c3e8ac483b7d2f1 Mon Sep 17 00:00:00 2001 From: moeiniamir Date: Wed, 24 Jun 2020 18:45:09 +0430 Subject: [PATCH 4/4] fix testIssue365 --- ion/test/src/com/koushikdutta/ion/test/Issues.java | 1 + 1 file changed, 1 insertion(+) diff --git a/ion/test/src/com/koushikdutta/ion/test/Issues.java b/ion/test/src/com/koushikdutta/ion/test/Issues.java index fd252b26..238f852c 100644 --- a/ion/test/src/com/koushikdutta/ion/test/Issues.java +++ b/ion/test/src/com/koushikdutta/ion/test/Issues.java @@ -397,5 +397,6 @@ public void testIssue365() throw Exception { "https://raw.githubusercontent.com/%s/AndroidAsync/master/AndroidAsync/test/assets/test.json", username) .asString().get(); + Assert.asserEquals(noFormatting, withFormatting); } }