Author: sergeyb
Date: Tue Feb 11 16:50:21 2014
New Revision: 1567214

URL: http://svn.apache.org/r1567214
Log:
[CXF-5554] Correct check for media types

Modified:
    
cxf/trunk/rt/rs/security/oauth-parent/oauth/src/main/java/org/apache/cxf/rs/security/oauth/utils/OAuthUtils.java

Modified: 
cxf/trunk/rt/rs/security/oauth-parent/oauth/src/main/java/org/apache/cxf/rs/security/oauth/utils/OAuthUtils.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/rs/security/oauth-parent/oauth/src/main/java/org/apache/cxf/rs/security/oauth/utils/OAuthUtils.java?rev=1567214&r1=1567213&r2=1567214&view=diff
==============================================================================
--- 
cxf/trunk/rt/rs/security/oauth-parent/oauth/src/main/java/org/apache/cxf/rs/security/oauth/utils/OAuthUtils.java
 (original)
+++ 
cxf/trunk/rt/rs/security/oauth-parent/oauth/src/main/java/org/apache/cxf/rs/security/oauth/utils/OAuthUtils.java
 Tue Feb 11 16:50:21 2014
@@ -132,16 +132,18 @@ public final class OAuthUtils {
         String enc = oAuthMessage.getBodyEncoding();
         enc = enc == null ? "UTF-8" : enc;
         
-        if (params.isEmpty() 
-            && 
MediaType.APPLICATION_FORM_URLENCODED.equals(oAuthMessage.getBodyType())) {
-            InputStream stream = mc != null 
-                ? mc.getContent(InputStream.class) : 
oAuthMessage.getBodyAsStream();
-            String body = FormUtils.readBody(stream, enc);
-            MultivaluedMap<String, String> map = new MetadataMap<String, 
String>();
-            FormUtils.populateMapFromString(map, 
PhaseInterceptorChain.getCurrentMessage(), body, enc, true, 
-                                            request);
-            for (String key : map.keySet()) {
-                oAuthMessage.addParameter(key, map.getFirst(key));
+        if (params.isEmpty())  {
+            MediaType bodyMediaType = 
MediaType.valueOf(oAuthMessage.getBodyType());
+            if 
(MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(bodyMediaType)) {
+                InputStream stream = mc != null 
+                    ? mc.getContent(InputStream.class) : 
oAuthMessage.getBodyAsStream();
+                String body = FormUtils.readBody(stream, enc);
+                MultivaluedMap<String, String> map = new MetadataMap<String, 
String>();
+                FormUtils.populateMapFromString(map, 
PhaseInterceptorChain.getCurrentMessage(), body, enc, true, 
+                                                request);
+                for (String key : map.keySet()) {
+                    oAuthMessage.addParameter(key, map.getFirst(key));
+                }
             }
         } else {
             // This path will most likely work only for the 
AuthorizationRequestService


Reply via email to