8000 allow '=' in query parameter value · Geisirc/google-http-java-client@356bf78 · GitHub
[go: up one dir, main page]

Skip to content

Commit 356bf78

Browse files
Ananya Saxenamattwhisenhunt
authored andcommitted
allow '=' in query parameter value
1 parent 943aa99 commit 356bf78

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

google-http-client/src/main/java/com/google/api/client/http/UrlEncodedParser.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,13 @@ public static void parse(Reader reader, Object data) throws IOException {
196196
}
197197
break;
198198
case '=':
199-
// finished with name, now read value
200-
readingName = false;
199+
if (readingName) {
200+
// finished with name, now read value
201+
readingName = false;
202+
} else {
203+
// '=' is in the value
204+
valueWriter.write(read);
205+
}
201206
break;
202207
default:
203208
// read one more character

google-http-client/src/test/java/com/google/api/client/http/UrlEncodedParserTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,9 @@ public Generic set(String fieldName, Object value) {
112112
public void testParse_simple() {
113113
Simple actual = new Simple();
114114
UrlEncodedParser.parse(
115-
"v=ignore&v=ignore2&q=1&a=x&b=y&c=z&q=2&undeclared=0&o=object&r=a1&r=a2", actual);
115+
"v=ignore&v=ignore2&q=1&a=x=&b=y&c=z&q=2&undeclared=0&o=object&r=a1&r=a2", actual);
116116
Simple expected = new Simple();
117-
expected.a = "x";
117+
expected.a = "x=";
118118
expected.b = "y";
119119
expected.c = "z";
120120
expected.q = new ArrayList<String>(Arrays.asList("1", "2"));

0 commit comments

Comments
 (0)
0