Skip to content

Commit f721dbc

Browse files
authored
Properly encode http params. (#4065)
1 parent 7c5ef93 commit f721dbc

File tree

1 file changed

+17
-8
lines changed
  • firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/network

1 file changed

+17
-8
lines changed

firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/internal/network/HttpGetRequest.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
import java.io.IOException;
2020
import java.io.InputStream;
2121
import java.io.InputStreamReader;
22+
import java.io.UnsupportedEncodingException;
2223
import java.net.URL;
24+
import java.net.URLEncoder;
2325
import java.util.HashMap;
2426
import java.util.Iterator;
2527
import java.util.Map;
@@ -95,7 +97,8 @@ public HttpResponse execute() throws IOException {
9597
return new HttpResponse(responseCode, body);
9698
}
9799

98-
private String createUrlWithParams(String url, Map<String, String> queryParams) {
100+
private String createUrlWithParams(String url, Map<String, String> queryParams)
101+
throws UnsupportedEncodingException {
99102
String queryParamsString = createParamsString(queryParams);
100103

101104
if (queryParamsString.isEmpty()) {
@@ -112,16 +115,22 @@ private String createUrlWithParams(String url, Map<String, String> queryParams)
112115
}
113116
}
114117

115-
private String createParamsString(Map<String, String> queryParams) {
118+
private String createParamsString(Map<String, String> queryParams)
119+
throws UnsupportedEncodingException {
116120
StringBuilder paramsString = new StringBuilder();
117121
Iterator<Map.Entry<String, String>> iterator = queryParams.entrySet().iterator();
118-
Map.Entry<String, String> entry = (Map.Entry<String, String>) iterator.next();
119-
120-
paramsString.append(entry.getKey() + "=" + (entry.getValue() != null ? entry.getValue() : ""));
122+
Map.Entry<String, String> entry = iterator.next();
123+
paramsString
124+
.append(entry.getKey())
125+
.append("=")
126+
.append(entry.getValue() != null ? URLEncoder.encode(entry.getValue(), "UTF-8") : "");
121127
while (iterator.hasNext()) {
122-
entry = (Map.Entry<String, String>) iterator.next();
123-
paramsString.append(
124-
"&" + entry.getKey() + "=" + (entry.getValue() != null ? entry.getValue() : ""));
128+
entry = iterator.next();
129+
paramsString
130+
.append("&")
131+
.append(entry.getKey())
132+
.append("=")
133+
.append(entry.getValue() != null ? URLEncoder.encode(entry.getValue(), "UTF-8") : "");
125134
}
126135
return paramsString.toString();
127136
}

0 commit comments

Comments
 (0)