use of org.apache.http.client.fluent.Executor in project sling by apache.
the class SimpleHttpDistributionTransport method deliverPackage.
public void deliverPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage, @Nonnull DistributionTransportContext distributionContext) throws DistributionException {
String hostAndPort = getHostAndPort(distributionEndpoint.getUri());
DistributionPackageInfo info = distributionPackage.getInfo();
URI packageOrigin = info.get(PACKAGE_INFO_PROPERTY_ORIGIN_URI, URI.class);
if (packageOrigin != null && hostAndPort.equals(getHostAndPort(packageOrigin))) {
log.debug("skipping distribution of package {} to same origin {}", distributionPackage.getId(), hostAndPort);
} else {
try {
Executor executor = getExecutor(distributionContext);
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
if (distributionPackage instanceof AbstractDistributionPackage) {
AbstractDistributionPackage adb = (AbstractDistributionPackage) distributionPackage;
if (adb.getDigestAlgorithm() != null && adb.getDigestMessage() != null) {
req.addHeader(DIGEST_HEADER, String.format("%s=%s", adb.getDigestAlgorithm(), adb.getDigestMessage()));
}
}
InputStream inputStream = null;
try {
inputStream = DistributionPackageUtils.createStreamWithHeader(distributionPackage);
req = req.bodyStream(inputStream, ContentType.APPLICATION_OCTET_STREAM);
Response response = executor.execute(req);
// throws an error if HTTP status is >= 300
response.returnContent();
} finally {
IOUtils.closeQuietly(inputStream);
}
log.debug("delivered packageId={}, endpoint={}", distributionPackage.getId(), distributionEndpoint.getUri());
} catch (HttpHostConnectException e) {
throw new RecoverableDistributionException("endpoint not available " + distributionEndpoint.getUri(), e);
} catch (HttpResponseException e) {
int statusCode = e.getStatusCode();
if (statusCode == 404 || statusCode == 401) {
throw new RecoverableDistributionException("not enough rights for " + distributionEndpoint.getUri(), e);
}
throw new DistributionException(e);
} catch (Exception e) {
throw new DistributionException(e);
}
}
}
use of org.apache.http.client.fluent.Executor in project acs-aem-commons by Adobe-Consulting-Services.
the class HttpClientFactoryImplTest method testAuthenticatedGet.
@Test
public void testAuthenticatedGet() throws Exception {
config.put("username", username);
config.put("password", password);
impl.activate(config);
Request get = impl.get("/auth");
Executor exec = impl.getExecutor();
String str = exec.execute(get).handleResponse(new BasicResponseHandler());
assertThat(str, is("OK"));
}
use of org.apache.http.client.fluent.Executor in project acs-aem-commons by Adobe-Consulting-Services.
the class HttpClientFactoryImplTest method testAnonymousGet.
@Test
public void testAnonymousGet() throws Exception {
impl.activate(config);
Request get = impl.get("/anon");
Executor exec = impl.getExecutor();
String str = exec.execute(get).handleResponse(new BasicResponseHandler());
assertThat(str, is("OK"));
}
use of org.apache.http.client.fluent.Executor in project substitution-schedule-parser by vertretungsplanme.
the class LoginHandlerTest method testPostAuthFailCheckUrl.
@Test(expected = CredentialInvalidException.class)
public void testPostAuthFailCheckUrl() throws JSONException, IOException, CredentialInvalidException {
stubPostAuth();
Executor exec = newExecutor();
LoginHandler handler = new LoginHandler(dataPostCheckUrl, wrong, null);
// should throw CredentialInvalidException
handler.handleLogin(exec, null);
}
use of org.apache.http.client.fluent.Executor in project substitution-schedule-parser by vertretungsplanme.
the class LoginHandlerTest method testBasicAuthFail.
@Test
public void testBasicAuthFail() throws JSONException, IOException, CredentialInvalidException {
stubBasicAuth();
Executor exec = newExecutor();
LoginHandler handler = new LoginHandler(dataBasic, wrong, null);
handler.handleLogin(exec, null);
// loading page should succeed
int status = exec.execute(Request.Get(baseurl + "/index.html")).returnResponse().getStatusLine().getStatusCode();
assertEquals(401, status);
}
Aggregations