Skip to content

Commit 7e92db3

Browse files
Added functionallity for appending querystring params once the request is created
1 parent f6c3cb9 commit 7e92db3

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

src/main/java/org/scribe/model/Request.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class Request
1919

2020
private String url;
2121
private Verb verb;
22+
private Map<String, String> querystringParams;
2223
private Map<String, String> bodyParams;
2324
private Map<String, String> headers;
2425
private String payload = null;
@@ -34,6 +35,7 @@ public Request(Verb verb, String url)
3435
{
3536
this.verb = verb;
3637
this.url = url;
38+
this.querystringParams = new HashMap<String, String>();
3739
this.bodyParams = new HashMap<String, String>();
3840
this.headers = new HashMap<String, String>();
3941
}
@@ -111,6 +113,17 @@ public void addBodyParameter(String key, String value)
111113
this.bodyParams.put(key, value);
112114
}
113115

116+
/**
117+
* Add a QueryString parameter
118+
*
119+
* @param key the parameter name
120+
* @param value the parameter value
121+
*/
122+
public void addQuerystringParam(String key, String value)
123+
{
124+
this.querystringParams.put(key, value);
125+
}
126+
114127
/**
115128
* Add body payload.
116129
*
@@ -145,8 +158,10 @@ public Map<String, String> getQueryStringParams()
145158
params.put(pair[0], pair[1]);
146159
}
147160
}
161+
params.putAll(querystringParams);
148162
return params;
149-
} catch (MalformedURLException mue)
163+
}
164+
catch (MalformedURLException mue)
150165
{
151166
throw new OAuthException("Malformed URL", mue);
152167
}

src/test/java/org/scribe/model/RequestTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,13 @@ public void shouldSetPayloadAndHeaders()
6565
assertTrue(connection.getHeaders().containsKey("Content-Length"));
6666
}
6767

68+
@Test
69+
public void shouldAllowAddingQuerystringParametersAfterCreation()
70+
{
71+
Request request = new Request(Verb.GET, "http://example.com?one=val");
72+
request.addQuerystringParam("two", "other val");
73+
request.addQuerystringParam("more", "params");
74+
assertEquals(3, request.getQueryStringParams().size());
75+
}
76+
6877
}

0 commit comments

Comments
 (0)