From 7e92db34139bfe473c5e89bd55d1cb7cb46abc2d Mon Sep 17 00:00:00 2001 From: Pablo Fernandez Date: Sun, 9 Jan 2011 15:42:34 -0300 Subject: [PATCH] Added functionallity for appending querystring params once the request is created --- src/main/java/org/scribe/model/Request.java | 17 ++++++++++++++++- src/test/java/org/scribe/model/RequestTest.java | 9 +++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scribe/model/Request.java b/src/main/java/org/scribe/model/Request.java index 3392e4d..7557bb8 100644 --- a/src/main/java/org/scribe/model/Request.java +++ b/src/main/java/org/scribe/model/Request.java @@ -19,6 +19,7 @@ class Request private String url; private Verb verb; + private Map querystringParams; private Map bodyParams; private Map headers; private String payload = null; @@ -34,6 +35,7 @@ class Request { this.verb = verb; this.url = url; + this.querystringParams = new HashMap(); this.bodyParams = new HashMap(); this.headers = new HashMap(); } @@ -111,6 +113,17 @@ class Request this.bodyParams.put(key, value); } + /** + * Add a QueryString parameter + * + * @param key the parameter name + * @param value the parameter value + */ + public void addQuerystringParam(String key, String value) + { + this.querystringParams.put(key, value); + } + /** * Add body payload. * @@ -145,8 +158,10 @@ class Request params.put(pair[0], pair[1]); } } + params.putAll(querystringParams); return params; - } catch (MalformedURLException mue) + } + catch (MalformedURLException mue) { throw new OAuthException("Malformed URL", mue); } diff --git a/src/test/java/org/scribe/model/RequestTest.java b/src/test/java/org/scribe/model/RequestTest.java index 4034699..601e9bd 100644 --- a/src/test/java/org/scribe/model/RequestTest.java +++ b/src/test/java/org/scribe/model/RequestTest.java @@ -65,4 +65,13 @@ public class RequestTest assertTrue(connection.getHeaders().containsKey("Content-Length")); } + @Test + public void shouldAllowAddingQuerystringParametersAfterCreation() + { + Request request = new Request(Verb.GET, "http://example.com?one=val"); + request.addQuerystringParam("two", "other val"); + request.addQuerystringParam("more", "params"); + assertEquals(3, request.getQueryStringParams().size()); + } + } \ No newline at end of file