You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wink.apache.org by jr...@apache.org on 2010/11/03 20:27:22 UTC

svn commit: r1030627 - /incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/internal/handlers/AcceptHeaderHandler.java

Author: jramos
Date: Wed Nov  3 19:27:22 2010
New Revision: 1030627

URL: http://svn.apache.org/viewvc?rev=1030627&view=rev
Log:
Fix issue where json media types were being used by default for the accept header when the user did not specify one and a ClientResponse is being returned by the RestClient

Modified:
    incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/internal/handlers/AcceptHeaderHandler.java

Modified: incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/internal/handlers/AcceptHeaderHandler.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/internal/handlers/AcceptHeaderHandler.java?rev=1030627&r1=1030626&r2=1030627&view=diff
==============================================================================
--- incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/internal/handlers/AcceptHeaderHandler.java (original)
+++ incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/internal/handlers/AcceptHeaderHandler.java Wed Nov  3 19:27:22 2010
@@ -49,27 +49,30 @@ public class AcceptHeaderHandler impleme
                 request.getAttributes().get(ClientRequestImpl.RESPONSE_ENTITY_CLASS_TYPE);
             if (responseEntityClassType != null) {
                 Class<?> classType = (Class<?>)responseEntityClassType;
-                logger.trace("Response entity class is: {}", classType); //$NON-NLS-1$
-                Set<MediaType> mediaTypes =
-                    request.getAttribute(ProvidersRegistry.class)
-                        .getMessageBodyReaderMediaTypesLimitByIsReadable(classType,
-                                                                         RuntimeContextTLS
-                                                                             .getRuntimeContext());
-                logger.trace("Found media types: {}", mediaTypes); //$NON-NLS-1$
-                StringBuffer acceptHeader = new StringBuffer();
-                boolean isFirst = true;
-                for (MediaType mt : mediaTypes) {
-                    if (!isFirst) {
-                        acceptHeader.append(","); //$NON-NLS-1$
+                if (!classType.isAssignableFrom(ClientResponse.class)) {
+                    logger.trace("Response entity class is: {}", classType); //$NON-NLS-1$
+                    Set<MediaType> mediaTypes =
+                        request
+                            .getAttribute(ProvidersRegistry.class)
+                            .getMessageBodyReaderMediaTypesLimitByIsReadable(classType,
+                                                                             RuntimeContextTLS
+                                                                                 .getRuntimeContext());
+                    logger.trace("Found media types: {}", mediaTypes); //$NON-NLS-1$
+                    StringBuffer acceptHeader = new StringBuffer();
+                    boolean isFirst = true;
+                    for (MediaType mt : mediaTypes) {
+                        if (!isFirst) {
+                            acceptHeader.append(","); //$NON-NLS-1$
+                        }
+                        acceptHeader.append(mt.toString());
+                        isFirst = false;
+                    }
+                    if (acceptHeader.length() > 0) {
+                        String acceptValue = acceptHeader.toString();
+                        requestHeaders.add(HttpHeaders.ACCEPT, acceptValue);
+                        logger.info(Messages.getMessage("clientAcceptHeaderHandlerSetAccept", //$NON-NLS-1$
+                                                        acceptValue));
                     }
-                    acceptHeader.append(mt.toString());
-                    isFirst = false;
-                }
-                if (acceptHeader.length() > 0) {
-                    String acceptValue = acceptHeader.toString();
-                    requestHeaders.add(HttpHeaders.ACCEPT, acceptValue);
-                    logger.info(Messages.getMessage("clientAcceptHeaderHandlerSetAccept", //$NON-NLS-1$
-                                acceptValue));
                 }
             }
         }