Return-Path: X-Original-To: apmail-cxf-commits-archive@www.apache.org Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id F233A18345 for ; Wed, 19 Aug 2015 11:01:03 +0000 (UTC) Received: (qmail 75752 invoked by uid 500); 19 Aug 2015 11:01:03 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 75692 invoked by uid 500); 19 Aug 2015 11:01:03 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 75683 invoked by uid 99); 19 Aug 2015 11:01:03 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Aug 2015 11:01:03 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 96C50DFA24; Wed, 19 Aug 2015 11:01:03 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sergeyb@apache.org To: commits@cxf.apache.org Message-Id: <10232f71e3ce456c953fb8a8d9bbe36e@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: cxf git commit: [CXF-6548] Updating ClientProxyImpl to avoid setting CT if the body is null and transport Headers to let custom CT stay even if the request is empty if overriding CT */* is needed Date: Wed, 19 Aug 2015 11:01:03 +0000 (UTC) Repository: cxf Updated Branches: refs/heads/master 47cce42ce -> d3e2ebd99 [CXF-6548] Updating ClientProxyImpl to avoid setting CT if the body is null and transport Headers to let custom CT stay even if the request is empty if overriding CT */* is needed Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/d3e2ebd9 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/d3e2ebd9 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/d3e2ebd9 Branch: refs/heads/master Commit: d3e2ebd99778a9426b199fd7d2a1cc57a299af05 Parents: 47cce42 Author: Sergey Beryozkin Authored: Wed Aug 19 12:00:42 2015 +0100 Committer: Sergey Beryozkin Committed: Wed Aug 19 12:00:42 2015 +0100 ---------------------------------------------------------------------- .../java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java | 9 +++++---- .../main/java/org/apache/cxf/transport/http/Headers.java | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/d3e2ebd9/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java ---------------------------------------------------------------------- diff --git a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java index c56db95..6edd18e 100644 --- a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java +++ b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java @@ -204,10 +204,7 @@ public class ClientProxyImpl extends AbstractClient implements proxyImpl.setConfiguration(getConfiguration()); return JAXRSClientFactory.createProxy(m.getReturnType(), proxyLoader, proxyImpl); } - headers.putAll(paramHeaders); - setRequestHeaders(headers, ori, types.containsKey(ParameterType.FORM), - bodyIndex == -1 || params[bodyIndex] == null ? null : params[bodyIndex].getClass(), m.getReturnType()); getState().setTemplates(getTemplateParametersMap(ori.getURITemplate(), pathParams)); @@ -223,6 +220,10 @@ public class ClientProxyImpl extends AbstractClient implements body = handleMultipart(types, ori, params); } + setRequestHeaders(headers, ori, types.containsKey(ParameterType.FORM), + body == null ? null : body.getClass(), m.getReturnType()); + + return doChainedInvocation(uri, headers, ori, body, bodyIndex, null, null); } @@ -341,7 +342,7 @@ public class ClientProxyImpl extends AbstractClient implements if (headers.getFirst(HttpHeaders.CONTENT_TYPE) == null) { if (formParams || bodyClass != null && MultivaluedMap.class.isAssignableFrom(bodyClass)) { headers.putSingle(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED); - } else { + } else if (bodyClass != null) { String cType = ori.getConsumeTypes().isEmpty() || ori.getConsumeTypes().get(0).equals(MediaType.WILDCARD_TYPE) ? MediaType.APPLICATION_XML : JAXRSUtils.mediaTypeToString(ori.getConsumeTypes().get(0)); http://git-wip-us.apache.org/repos/asf/cxf/blob/d3e2ebd9/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java ---------------------------------------------------------------------- diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java index 3a4f7af..6a81d23 100644 --- a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java +++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java @@ -308,7 +308,7 @@ public class Headers { dropContentType = !MessageUtils.getContextualBoolean(message, SET_EMPTY_REQUEST_CT_PROPERTY, true); } if (!dropContentType) { - String ct = emptyRequest ? "*/*" : determineContentType(); + String ct = emptyRequest && !headers.containsKey(Message.CONTENT_TYPE) ? "*/*" : determineContentType(); connection.setRequestProperty(HttpHeaderHelper.CONTENT_TYPE, ct); }