Example usage for org.apache.http.client.protocol HttpClientContext create

List of usage examples for org.apache.http.client.protocol HttpClientContext create

Introduction

In this page you can find the example usage for org.apache.http.client.protocol HttpClientContext create.

Prototype

public static HttpClientContext create() 

Source Link

Usage

From source file:org.sonatype.nexus.plugins.crowd.client.rest.RestClient.java

/**
 * Returns user list based on userid// www .  j  a  v  a  2s .  c  o  m
 * @param userId
 * @param email
 * @param filterGroups
 * @return
 * @throws RemoteException
 * @throws UnsupportedEncodingException
 */
public Set<User> searchUsers(String userId) throws RemoteException {
    LOG.debug("searchUsers({})", userId);

    HttpClientContext hc = HttpClientContext.create();
    int maxResults = 1000;

    if (StringUtils.isNotEmpty(userId)) {
        StringBuilder request = new StringBuilder("search?entity-type=user&max-results=").append(maxResults)
                .append("&restriction=");

        StringBuilder searchQuery = new StringBuilder("active=true");
        searchQuery.append(" AND name=\"").append(userId.trim()).append("*\"");

        request.append(urlEncode(searchQuery.toString())).append("&start-index=");

        int startIndex = 0;
        Set<User> result = new HashSet<>();
        try {
            while (true) {
                HttpGet get = enablePreemptiveAuth(
                        acceptXmlResponse(new HttpGet(crowdServer.resolve(request.toString() + startIndex))),
                        hc);
                SearchUserGetResponse users = null;

                if (LOG.isDebugEnabled()) {
                    LOG.debug(get.getURI().toString());
                }

                try {
                    HttpResponse response = client.execute(get);
                    if (response.getStatusLine().getStatusCode() != 200) {
                        handleHTTPError(response);
                    }
                    users = unmarshal(response, SearchUserGetResponse.class);
                } finally {
                    get.releaseConnection();
                }

                if (users != null && users.user != null) {
                    for (UserResponse user : users.user) {
                        result.add(getUser(user.name));
                    }

                    if (users.user.size() != maxResults) {
                        break;
                    }

                    startIndex += maxResults;

                } else {
                    break;
                }
            }

        } catch (IOException | JAXBException | AuthenticationException ioe) {
            handleError(ioe);
        }

        return result;
    }

    return Collections.emptySet();
}

From source file:org.duracloud.common.web.RestHttpHelper.java

private HttpResponse executeRequest(String url, Method method, HttpEntity requestEntity,
        Map<String, String> headers) throws IOException {
    if (url == null || url.length() == 0) {
        throw new IllegalArgumentException("URL must be a non-empty value");
    }//from   w  w  w . jav a2  s  .  c  om

    HttpRequestBase httpRequest = method.getMethod(url, requestEntity);

    if (headers != null && headers.size() > 0) {
        addHeaders(httpRequest, headers);
    }

    if (log.isDebugEnabled()) {
        log.debug(loggingRequestText(url, method, requestEntity, headers));
    }

    org.apache.http.HttpResponse response;
    if (null != credsProvider) {

        HttpClientBuilder builder = HttpClients.custom().setDefaultCredentialsProvider(credsProvider);

        if (socketTimeoutMs > -1) {
            BasicHttpClientConnectionManager cm = new BasicHttpClientConnectionManager();
            cm.setSocketConfig(SocketConfig.custom().setSoTimeout(socketTimeoutMs).build());
            builder.setConnectionManager(cm);
        }

        CloseableHttpClient httpClient = buildClient(builder, method);

        // Use preemptive basic auth
        URI requestUri = httpRequest.getURI();
        HttpHost target = new HttpHost(requestUri.getHost(), requestUri.getPort(), requestUri.getScheme());
        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);
        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);
        response = httpClient.execute(httpRequest, localContext);
    } else {
        CloseableHttpClient httpClient = buildClient(HttpClients.custom(), method);
        response = httpClient.execute(httpRequest);
    }

    HttpResponse httpResponse = new HttpResponse(response);

    if (log.isDebugEnabled()) {
        log.debug(loggingResponseText(httpResponse));
    }

    return httpResponse;
}

From source file:com.aliyun.oss.common.comm.DefaultServiceClient.java

protected HttpClientContext createHttpContext() {
    HttpClientContext httpContext = HttpClientContext.create();
    httpContext.setRequestConfig(this.requestConfig);
    if (this.credentialsProvider != null) {
        httpContext.setCredentialsProvider(this.credentialsProvider);
        httpContext.setAuthCache(this.authCache);
    }//from  w  ww.j ava2  s . c  om
    return httpContext;
}

From source file:com.mirth.connect.client.core.ServerConnection.java

/**
 * The requests sent through this channel will be aborted on the client side when a new request
 * arrives. Currently there is no guarantee of the order that pending requests will be sent.
 *//*  w  ww.  j av  a2  s. c o m*/
private ClientResponse executeAbortPending(ClientRequest request) throws ClientException {
    // TODO: Make order sequential
    abortTask.incrementRequestsInQueue();

    synchronized (abortExecutor) {
        if (!abortExecutor.isShutdown() && !abortTask.isRunning()) {
            abortExecutor.execute(abortTask);
        }

        HttpRequestBase requestBase = null;
        CloseableHttpResponse response = null;
        boolean shouldClose = true;

        try {
            abortPendingClientContext = HttpClientContext.create();
            abortPendingClientContext.setRequestConfig(requestConfig);

            requestBase = setupRequestBase(request, ExecuteType.ABORT_PENDING);

            abortTask.setAbortAllowed(true);
            response = client.execute(requestBase, abortPendingClientContext);
            abortTask.setAbortAllowed(false);

            ClientResponse responseContext = handleResponse(request, requestBase, response);
            if (responseContext.hasEntity()) {
                shouldClose = false;
            }
            return responseContext;
        } catch (Exception e) {
            if (requestBase != null && requestBase.isAborted()) {
                return new ClientResponse(Status.NO_CONTENT, request);
            } else if (e instanceof ClientException) {
                throw (ClientException) e;
            }
            throw new ClientException(e);
        } finally {
            abortTask.decrementRequestsInQueue();
            if (shouldClose) {
                HttpClientUtils.closeQuietly(response);
            }
        }
    }
}

From source file:org.keycloak.testsuite.oauth.OAuthRedirectUriTest.java

@Test
public void testWithCustomScheme() throws IOException {
    oauth.clientId("custom-scheme");

    oauth.redirectUri(//from ww w  . jav a 2  s  . c om
            "android-app://org.keycloak.examples.cordova/https/keycloak-cordova-example.github.io/login");
    oauth.openLoginForm();

    RequestConfig globalConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.BEST_MATCH).build();
    CookieStore cookieStore = new BasicCookieStore();
    HttpClientContext context = HttpClientContext.create();
    context.setCookieStore(cookieStore);

    String loginUrl = driver.getCurrentUrl();

    CloseableHttpClient client = HttpClients.custom().setDefaultRequestConfig(globalConfig)
            .setDefaultCookieStore(cookieStore).build();

    try {
        String loginPage = SimpleHttp.doGet(loginUrl, client).asString();

        String formAction = loginPage.split("action=\"")[1].split("\"")[0].replaceAll("&amp;", "&");
        SimpleHttp.Response response = SimpleHttp.doPost(formAction, client)
                .param("username", "test-user@localhost").param("password", "password").asResponse();

        response.getStatus();
        assertThat(response.getFirstHeader("Location"), Matchers.startsWith(
                "android-app://org.keycloak.examples.cordova/https/keycloak-cordova-example.github.io/login"));
    } finally {
        client.close();
    }
}

From source file:org.apache.ofbiz.solr.SolrUtil.java

public static HttpSolrClient getHttpSolrClient(String solrIndexName)
        throws ClientProtocolException, IOException {
    HttpClientContext httpContext = HttpClientContext.create();

    CloseableHttpClient httpClient = null;
    if (trustSelfSignedCert) {
        httpClient = UtilHttp.getAllowAllHttpClient();
    } else {/*from  w w  w. ja  va2  s .  com*/
        httpClient = HttpClients.createDefault();
    }

    RequestConfig requestConfig = null;
    if (UtilValidate.isNotEmpty(socketTimeout) && UtilValidate.isNotEmpty(connectionTimeout)) {
        requestConfig = RequestConfig.custom().setSocketTimeout(socketTimeout)
                .setConnectTimeout(connectionTimeout).setRedirectsEnabled(true).build();
    } else if (UtilValidate.isNotEmpty(socketTimeout)) {
        requestConfig = RequestConfig.custom().setSocketTimeout(socketTimeout).setRedirectsEnabled(true)
                .build();
    } else if (UtilValidate.isNotEmpty(connectionTimeout)) {
        requestConfig = RequestConfig.custom().setConnectTimeout(connectionTimeout).setRedirectsEnabled(true)
                .build();
    } else {
        requestConfig = RequestConfig.custom().setRedirectsEnabled(true).build();
    }

    HttpGet httpLogin = new HttpGet(
            solrUrl + "/control/login?USERNAME=" + clientUsername + "&PASSWORD=" + clientPassword);
    httpLogin.setConfig(requestConfig);
    CloseableHttpResponse loginResponse = httpClient.execute(httpLogin, httpContext);
    loginResponse.close();
    return new HttpSolrClient(solrUrl + "/" + solrIndexName, httpClient);
}

From source file:org.springframework.xd.dirt.integration.bus.rabbit.RabbitBusCleaner.java

@VisibleForTesting
static RestTemplate buildRestTemplate(String adminUri, String user, String password) {
    BasicCredentialsProvider credsProvider = new BasicCredentialsProvider();
    credsProvider.setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT),
            new UsernamePasswordCredentials(user, password));
    HttpClient httpClient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
    // Set up pre-emptive basic Auth because the rabbit plugin doesn't currently support challenge/response for PUT
    // Create AuthCache instance
    AuthCache authCache = new BasicAuthCache();
    // Generate BASIC scheme object and add it to the local; from the apache docs...
    // auth cache
    BasicScheme basicAuth = new BasicScheme();
    URI uri;/*from   w w w .j  av a 2  s  . c  om*/
    try {
        uri = new URI(adminUri);
    } catch (URISyntaxException e) {
        throw new RabbitAdminException("Invalid URI", e);
    }
    authCache.put(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), basicAuth);
    // Add AuthCache to the execution context
    final HttpClientContext localContext = HttpClientContext.create();
    localContext.setAuthCache(authCache);
    RestTemplate restTemplate = new RestTemplate(new HttpComponentsClientHttpRequestFactory(httpClient) {

        @Override
        protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) {
            return localContext;
        }

    });
    restTemplate.setMessageConverters(
            Collections.<HttpMessageConverter<?>>singletonList(new MappingJackson2HttpMessageConverter()));
    return restTemplate;
}

From source file:de.dtag.tlabs.cbclient.CBClient.java

/**
 * Is called by the polling Timer/*  w w  w.  java2  s.  com*/
 */
private void performPolling() {
    HttpHost targetHost = new HttpHost(contextBrokerIPAddr, contextBrokerPort, "http");
    HttpClientContext context = HttpClientContext.create();
    //       HttpGetWithEntity httpGet = new HttpGetWithEntity(contextBrokerRequestLine);
    //httpGet.setHeader("Content-Type", "application/xml");

    HttpPost httpPostContext = new HttpPost(contextBrokerRequestLine);

    String getXMLInfo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<queryContextRequest>"
            + "<entityIdList>" + "<entityId type=\"User_Context\" isPattern=\"false\">" + "<id>User1</id>"
            + "</entityId>" + "</entityIdList>" + "<attributeList/>" + "</queryContextRequest>";

    StringEntity getEntity = new StringEntity(getXMLInfo, ContentType.APPLICATION_XML);
    httpPostContext.setEntity(getEntity);
    try {
        CloseableHttpResponse response = httpClient.execute(targetHost, httpPostContext, context);

        HttpEntity entity = response.getEntity();
        //           System.out.println("Response: " + response.getStatusLine().toString());
        //           System.out.println("Response Body-Type: " + entity.getContentType());

        StringWriter writer = new StringWriter();
        InputStream is = entity.getContent();
        IOUtils.copy(is, writer);
        String responseContent = writer.toString();

        System.out.println(responseContent);

        checkForHandOver(responseContent);

    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}