You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by to...@apache.org on 2017/05/08 09:32:47 UTC
svn commit: r1794300 - in
/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl:
HttpTransportUtils.java SimpleHttpDistributionTransport.java
Author: tommaso
Date: Mon May 8 09:32:46 2017
New Revision: 1794300
URL: http://svn.apache.org/viewvc?rev=1794300&view=rev
Log:
SLING-6838 - HTTP connection : close header, closing IS after http fetch
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java?rev=1794300&r1=1794299&r2=1794300&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java Mon May 8 09:32:46 2017
@@ -24,6 +24,7 @@ import org.apache.http.HttpResponse;
import org.apache.http.client.fluent.Executor;
import org.apache.http.client.fluent.Request;
import org.apache.http.client.utils.URIBuilder;
+import org.apache.http.protocol.HTTP;
import java.io.IOException;
import java.io.InputStream;
@@ -38,6 +39,7 @@ class HttpTransportUtils {
Request fetchReq = Request.Post(fetchUri)
.connectTimeout(httpConfiguration.getConnectTimeout())
.socketTimeout(httpConfiguration.getSocketTimeout())
+ .addHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE)
.useExpectContinue();
HttpResponse httpResponse = executor.execute(fetchReq).returnResponse();
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java?rev=1794300&r1=1794299&r2=1794300&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java Mon May 8 09:32:46 2017
@@ -33,6 +33,7 @@ import org.apache.http.client.fluent.Req
import org.apache.http.client.fluent.Response;
import org.apache.http.conn.HttpHostConnectException;
import org.apache.http.entity.ContentType;
+import org.apache.http.protocol.HTTP;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.DistributionRequest;
import org.apache.sling.distribution.common.DistributionException;
@@ -104,6 +105,7 @@ public class SimpleHttpDistributionTrans
Request req = Request.Post(distributionEndpoint.getUri())
.connectTimeout(httpConfiguration.getConnectTimeout())
.socketTimeout(httpConfiguration.getSocketTimeout())
+ .addHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE)
.useExpectContinue();
// add the message body digest, see https://tools.ietf.org/html/rfc3230#section-4.3.2
@@ -159,11 +161,15 @@ public class SimpleHttpDistributionTrans
return null;
}
- final DistributionPackage responsePackage = packageBuilder.readPackage(resourceResolver, inputStream);
- responsePackage.getInfo().put(PACKAGE_INFO_PROPERTY_ORIGIN_URI, distributionURI);
- log.debug("pulled package with info {}", responsePackage.getInfo());
-
- return new DefaultRemoteDistributionPackage(responsePackage, executor, distributionURI);
+ try {
+ final DistributionPackage responsePackage = packageBuilder.readPackage(resourceResolver, inputStream);
+ responsePackage.getInfo().put(PACKAGE_INFO_PROPERTY_ORIGIN_URI, distributionURI);
+ log.debug("pulled package with info {}", responsePackage.getInfo());
+
+ return new DefaultRemoteDistributionPackage(responsePackage, executor, distributionURI);
+ } finally {
+ IOUtils.closeQuietly(inputStream);
+ }
} catch (HttpHostConnectException e) {
log.debug("could not connect to {} - skipping", distributionEndpoint.getUri());
} catch (Exception ex) {