Author: sergeyb
Date: Thu Sep 6 16:39:45 2012
New Revision: 1381672
URL: http://svn.apache.org/viewvc?rev=1381672&view=rev
Log:
[CXF-4499] Properly encoding not only form keys but values too
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/FormUtils.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/FormUtils.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/FormUtils.java?rev=1381672&r1=1381671&r2=1381672&view=diff
==============================================================================
---
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/FormUtils.java
(original)
+++
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/FormUtils.java
Thu Sep 6 16:39:45 2012
@@ -138,7 +138,7 @@ public final class FormUtils {
String value = entryIterator.next();
os.write(entry.getKey().getBytes(enc));
os.write('=');
- String data = encoded ? value : HttpUtils.urlEncode(value);
+ String data = encoded ? value : HttpUtils.urlEncode(value,
enc);
os.write(data.getBytes(enc));
if (entryIterator.hasNext() || it.hasNext()) {
os.write('&');
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java?rev=1381672&r1=1381671&r2=1381672&view=diff
==============================================================================
---
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
(original)
+++
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
Thu Sep 6 16:39:45 2012
@@ -122,10 +122,15 @@ public final class HttpUtils {
public static String urlEncode(String value) {
+ return urlEncode(value, "UTF-8");
+ }
+
+ public static String urlEncode(String value, String enc) {
+
try {
- value = URLEncoder.encode(value, "UTF-8");
+ value = URLEncoder.encode(value, enc);
} catch (UnsupportedEncodingException ex) {
- // unlikely to happen
+ throw new RuntimeException(ex);
}
return value;