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 313FB1871D for ; Tue, 11 Aug 2015 16:28:32 +0000 (UTC) Received: (qmail 90775 invoked by uid 500); 11 Aug 2015 16:28:22 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 90719 invoked by uid 500); 11 Aug 2015 16:28:22 -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 90705 invoked by uid 99); 11 Aug 2015 16:28:22 -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; Tue, 11 Aug 2015 16:28:22 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 6EAD3E03CE; Tue, 11 Aug 2015 16:28:22 +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: X-Mailer: ASF-Git Admin Mailer Subject: cxf git commit: Making it simpler to enable auto-closing for JAX-RS 2.0 clients Date: Tue, 11 Aug 2015 16:28:22 +0000 (UTC) Repository: cxf Updated Branches: refs/heads/3.0.x-fixes 7523f6f9e -> 961362dec Making it simpler to enable auto-closing for JAX-RS 2.0 clients Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/961362de Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/961362de Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/961362de Branch: refs/heads/3.0.x-fixes Commit: 961362decec21acc5ca37cc86734d141f4839b6c Parents: 7523f6f Author: Sergey Beryozkin Authored: Tue Aug 11 15:58:41 2015 +0100 Committer: Sergey Beryozkin Committed: Tue Aug 11 17:28:05 2015 +0100 ---------------------------------------------------------------------- .../apache/cxf/jaxrs/client/spec/ClientImpl.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/961362de/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/spec/ClientImpl.java ---------------------------------------------------------------------- diff --git a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/spec/ClientImpl.java b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/spec/ClientImpl.java index b15d730..52e900f 100644 --- a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/spec/ClientImpl.java +++ b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/spec/ClientImpl.java @@ -39,7 +39,6 @@ import javax.ws.rs.core.Link; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.UriBuilder; -import org.apache.cxf.common.util.PropertyUtils; import org.apache.cxf.configuration.jsse.TLSClientParameters; import org.apache.cxf.jaxrs.client.ClientConfiguration; import org.apache.cxf.jaxrs.client.ClientProviderFactory; @@ -54,6 +53,7 @@ public class ClientImpl implements Client { private static final String HTTP_PROXY_SERVER_PROP = "http.proxy.server.uri"; private static final String HTTP_PROXY_SERVER_PORT_PROP = "http.proxy.server.port"; private static final String HTTP_AUTOREDIRECT_PROP = "http.autoredirect"; + private static final String HTTP_RESPONSE_AUTOCLOSE_PROP = "http.response.stream.auto.close"; private Configurable configImpl; private TLSConfiguration secConfig; @@ -273,6 +273,12 @@ public class ClientImpl implements Client { clientCfg.getRequestContext().put(Client.class.getName(), ClientImpl.this); clientCfg.getRequestContext().put(Configuration.class.getName(), getConfiguration()); + + // Response auto-close + Boolean responseAutoClose = getBooleanValue(configProps.get(HTTP_RESPONSE_AUTOCLOSE_PROP)); + if (responseAutoClose != null) { + clientCfg.getResponseContext().put("response.stream.auto.close", responseAutoClose); + } // TLS TLSClientParameters tlsParams = secConfig.getTlsClientParams(); if (tlsParams.getSSLSocketFactory() != null @@ -305,9 +311,9 @@ public class ClientImpl implements Client { if (proxyServerPortValue != null) { clientCfg.getHttpConduit().getClient().setProxyServerPort(proxyServerPortValue); } - Object autoRedirectValue = configProps.get(HTTP_AUTOREDIRECT_PROP); - if (PropertyUtils.isTrue(autoRedirectValue)) { - clientCfg.getHttpConduit().getClient().setAutoRedirect(true); + Boolean autoRedirectValue = getBooleanValue(configProps.get(HTTP_AUTOREDIRECT_PROP)); + if (autoRedirectValue != null) { + clientCfg.getHttpConduit().getClient().setAutoRedirect(autoRedirectValue); } } @@ -386,7 +392,7 @@ public class ClientImpl implements Client { checkNull(name, value); return newWebTarget(getUriBuilder().resolveTemplate(name, value, encodeSlash)); } - + @Override public WebTarget resolveTemplateFromEncoded(String name, Object value) { checkNull(name, value); @@ -514,4 +520,7 @@ public class ClientImpl implements Client { private static Integer getIntValue(Object o) { return o instanceof Integer ? (Integer)o : o instanceof String ? Integer.valueOf(o.toString()) : null; } + private static Boolean getBooleanValue(Object o) { + return o instanceof Boolean ? (Boolean)o : o instanceof Boolean ? Boolean.valueOf(o.toString()) : null; + } }