Example usage for org.apache.http.client.config RequestConfig custom

List of usage examples for org.apache.http.client.config RequestConfig custom

Introduction

In this page you can find the example usage for org.apache.http.client.config RequestConfig custom.

Prototype

public static RequestConfig.Builder custom() 

Source Link

Usage

From source file:com.oic.net.Callback.java

private String getEmailAddress() throws Exception {
    String requestURI = "https://www.googleapis.com/oauth2/v2/userinfo";
    HttpClient client = HttpClientBuilder.create().build();
    HttpGet httpGet = new HttpGet(requestURI);
    RequestConfig config = RequestConfig.custom().setProxy(new HttpHost("prxsrv.oic.jp", 8080, "http")).build();
    httpGet.setConfig(config);/*from  www.  j a v  a  2  s  . c  o m*/
    httpGet.setHeader("Authorization", "OAuth " + access_token);
    HttpResponse response = client.execute(httpGet);

    JSONObject json = (JSONObject) new JSONParser().parse(EntityUtils.toString(response.getEntity()));

    String email = json.get("email").toString();
    return email;
}

From source file:com.blazemeter.bamboo.plugin.api.HttpUtility.java

public <V> HttpResponse httpResponse(String url, V data, Method method) throws IOException {
    if (StringUtils.isBlank(url))
        return null;
    logger.info("Requesting : " + url.substring(0, url.indexOf("?") + 14));
    HttpResponse response = null;/*w w  w.j  a v  a  2s.co m*/
    HttpRequestBase request = null;

    try {
        if (method == Method.GET) {
            request = new HttpGet(url);
        } else if (method == Method.POST) {
            request = new HttpPost(url);
            if (data != null) {
                ((HttpPost) request).setEntity(new StringEntity(data.toString()));
            }
        } else if (method == Method.PUT) {
            request = new HttpPut(url);
            if (data != null) {
                ((HttpPut) request).setEntity(new StringEntity(data.toString()));
            }
        } else if (method == Method.PATCH) {
            request = new HttpPatch(url);
            if (data != null) {
                ((HttpPatch) request).setEntity(new StringEntity(data.toString()));
            }
        } else {
            throw new RuntimeException("Unsupported method: " + method.toString());
        }
        request.setHeader("Accept", "application/json");
        request.setHeader("Content-type", "application/json; charset=UTF-8");
        if (proxy != null) {
            RequestConfig conf = RequestConfig.custom().setProxy(proxy).build();
            request.setConfig(conf);
        }
        response = this.httpClient.execute(request);

        if (response == null || response.getStatusLine() == null) {
            logger.info("Erroneous response (Probably null) for url: \n" + url);
            response = null;
        }
    } catch (Exception e) {
        logger.error("Problems with creating and sending request: \n", e);
    }
    return response;
}

From source file:org.jboss.as.test.http.util.TestHttpClientUtils.java

/**
 * Same as {@link TestHttpClientUtils#promiscuousCookieHttpClient()} but instead returns a builder that can be further configured.
 *
 * @return {@link HttpClientBuilder} of the http client that gives free cookies to everybody
 * @see TestHttpClientUtils#promiscuousCookieHttpClient()
 *///from  w  ww  . j  av a  2s .  c  o  m
public static HttpClientBuilder promiscuousCookieHttpClientBuilder() {
    HttpClientBuilder builder = HttpClients.custom();

    RegistryBuilder<CookieSpecProvider> registryBuilder = CookieSpecRegistries.createDefaultBuilder();
    Registry<CookieSpecProvider> promiscuousCookieSpecRegistry = registryBuilder
            .register("promiscuous", new PromiscuousCookieSpecProvider()).build();
    builder.setDefaultCookieSpecRegistry(promiscuousCookieSpecRegistry);

    RequestConfig requestConfig = RequestConfig.custom().setCookieSpec("promiscuous").build();
    builder.setDefaultRequestConfig(requestConfig);

    builder.setDefaultCookieStore(new PromiscuousCookieStore());

    return builder;
}

From source file:io.coala.capability.online.FluentHCOnlineCapability.java

public static HttpUriRequest getRequest(final HttpMethod method, final URI uri) {
    final HttpRequestBase request;
    switch (method) {
    case POST:/* ww  w  .j  a v  a2s.c  o  m*/
        request = new HttpPost(uri);// Request.Post(uri);
        break;
    case PUT:
        request = new HttpPut(uri);// Request.Put(uri);
        break;
    case DELETE:
        request = new HttpDelete(uri);// Request.Delete(uri);
        break;
    case GET:
        request = new HttpGet(uri);// Request.Get(uri);
        break;
    default:
        throw new IllegalStateException("UNSUPPORTED: " + method);
    }
    request.setProtocolVersion(HttpVersion.HTTP_1_1);
    final RequestConfig.Builder configBuilder = RequestConfig.custom();
    // TODO read (additional) HTTP client settings from external config
    configBuilder.setExpectContinueEnabled(true);
    request.setConfig(configBuilder.build());
    return request;
}

From source file:com.tremolosecurity.scalejs.register.ws.ScaleRegister.java

@Override
public void doFilter(HttpFilterRequest request, HttpFilterResponse response, HttpFilterChain chain)
        throws Exception {
    Gson gson = new Gson();
    request.getServletRequest().setAttribute("com.tremolosecurity.unison.proxy.noRedirectOnError",
            "com.tremolosecurity.unison.proxy.noRedirectOnError");
    if (request.getRequestURI().endsWith("/register/config")) {
        response.setContentType("application/json");
        ScaleJSUtils.addCacheHeaders(response);
        response.getWriter().println(gson.toJson(scaleConfig).trim());

    } else if (request.getRequestURI().endsWith("/register/submit")) {
        ScaleError errors = new ScaleError();
        String json = new String((byte[]) request.getAttribute(ProxySys.MSG_BODY));
        NewUserRequest newUser = gson.fromJson(json, NewUserRequest.class);

        if (scaleConfig.isRequireReCaptcha()) {
            if (newUser.getReCaptchaCode() == null || newUser.getReCaptchaCode().isEmpty()) {
                errors.getErrors().add("Please verify you are not a robot");
            } else {
                BasicHttpClientConnectionManager bhcm = new BasicHttpClientConnectionManager(
                        GlobalEntries.getGlobalEntries().getConfigManager().getHttpClientSocketRegistry());
                RequestConfig rc = RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD).build();
                CloseableHttpClient http = HttpClients.custom().setConnectionManager(bhcm)
                        .setDefaultRequestConfig(rc).build();
                HttpPost httppost = new HttpPost("https://www.google.com/recaptcha/api/siteverify");

                List<NameValuePair> formparams = new ArrayList<NameValuePair>();
                formparams.add(new BasicNameValuePair("secret", scaleConfig.getRcSecretKey()));
                formparams.add(new BasicNameValuePair("response", newUser.getReCaptchaCode()));
                UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8");

                httppost.setEntity(entity);

                CloseableHttpResponse resp = http.execute(httppost);

                ReCaptchaResponse res = gson.fromJson(EntityUtils.toString(resp.getEntity()),
                        ReCaptchaResponse.class);

                if (!res.isSuccess()) {
                    errors.getErrors().add("Human validation failed");
                }//  ww w . j a va 2  s.  c o  m

                http.close();
                bhcm.close();

            }
        }

        if (scaleConfig.isRequireTermsAndConditions() && !newUser.isCheckedTermsAndConditions()) {
            errors.getErrors().add("You must accept the terms and conditions to register");
        }

        if (this.scaleConfig.isRequireReason()
                && (newUser.getReason() == null || newUser.getReason().isEmpty())) {
            errors.getErrors().add("Reason is required");
        }

        if (this.scaleConfig.isPreSetPassword()) {
            if (newUser.getPassword() == null || newUser.getPassword().isEmpty()) {
                errors.getErrors().add("Password is required");
            } else if (!newUser.getPassword().equals(newUser.getPassword2())) {
                errors.getErrors().add("Passwords must match");
            }
        }

        for (String attributeName : this.scaleConfig.getAttributes().keySet()) {
            String value = newUser.getAttributes().get(attributeName);

            if (this.scaleConfig.getAttributes().get(attributeName) == null) {
                errors.getErrors().add("Invalid attribute : '" + attributeName + "'");

            }

            if (this.scaleConfig.getAttributes().get(attributeName).isReadOnly()) {
                errors.getErrors().add("Attribute is read only : '"
                        + this.scaleConfig.getAttributes().get(attributeName).getDisplayName() + "'");

            }

            if (this.scaleConfig.getAttributes().get(attributeName).isRequired()
                    && (value == null || value.length() == 0)) {
                errors.getErrors().add("Attribute is required : '"
                        + this.scaleConfig.getAttributes().get(attributeName).getDisplayName() + "'");

            }

            if (this.scaleConfig.getAttributes().get(attributeName).getMinChars() > 0
                    && this.scaleConfig.getAttributes().get(attributeName).getMinChars() < value.length()) {
                errors.getErrors().add(this.scaleConfig.getAttributes().get(attributeName).getDisplayName()
                        + " must have at least "
                        + this.scaleConfig.getAttributes().get(attributeName).getMinChars() + " characters");

            }

            if (this.scaleConfig.getAttributes().get(attributeName).getMaxChars() > 0
                    && this.scaleConfig.getAttributes().get(attributeName).getMaxChars() > value.length()) {
                errors.getErrors().add(this.scaleConfig.getAttributes().get(attributeName).getDisplayName()
                        + " must have at most "
                        + this.scaleConfig.getAttributes().get(attributeName).getMaxChars() + " characters");

            }

            if (this.scaleConfig.getAttributes().get(attributeName).getType().equalsIgnoreCase("list")) {
                boolean found = false;
                for (NVP nvp : this.scaleConfig.getAttributes().get(attributeName).getValues()) {
                    if (nvp.getValue().equalsIgnoreCase(value)) {
                        found = true;
                    }
                }

                if (!found) {
                    errors.getErrors().add(this.scaleConfig.getAttributes().get(attributeName).getDisplayName()
                            + " has an invalid value");
                }
            }

            if (this.scaleConfig.getAttributes().get(attributeName).getPattern() != null) {
                boolean ok = true;
                try {
                    Matcher m = this.scaleConfig.getAttributes().get(attributeName).getPattern().matcher(value);
                    if (m == null || !m.matches()) {
                        ok = false;
                    }
                } catch (Exception e) {
                    ok = false;
                }

                if (!ok) {
                    errors.getErrors().add("Attribute value not valid : '"
                            + this.scaleConfig.getAttributes().get(attributeName).getDisplayName() + "' - "
                            + this.scaleConfig.getAttributes().get(attributeName).getRegExFailedMsg());
                }
            }

            if (this.scaleConfig.getAttributes().get(attributeName).isUnique()) {
                String filter = equal(attributeName, value).toString();

                LDAPSearchResults res = GlobalEntries.getGlobalEntries().getConfigManager().getMyVD().search(
                        GlobalEntries.getGlobalEntries().getConfigManager().getCfg().getLdapRoot(), 2, filter,
                        new ArrayList<String>());
                if (res.hasMore()) {
                    errors.getErrors().add(this.scaleConfig.getAttributes().get(attributeName).getDisplayName()
                            + " is not available");
                }
                while (res.hasMore())
                    res.next();
            }
        }

        WFCall wfcall = null;
        String wfName = this.scaleConfig.getWorkflowName();
        if (errors.getErrors().isEmpty()) {
            if (scaleConfig.isUseCustomSubmission()) {

                AuthInfo userData = ((AuthController) request.getSession()
                        .getAttribute(ProxyConstants.AUTH_CTL)).getAuthInfo();

                wfName = cru.createTremoloUser(newUser, errors.getErrors(), userData);
            }
        }

        if (errors.getErrors().isEmpty()) {
            TremoloUser user = new TremoloUser();

            AuthInfo userData = ((AuthController) request.getSession().getAttribute(ProxyConstants.AUTH_CTL))
                    .getAuthInfo();

            if (this.scaleConfig.isSubmitLoggedInUser()) {
                user.setUid(
                        userData.getAttribs().get(this.scaleConfig.getUidAttributeName()).getValues().get(0));
                user.getAttributes().add(new Attribute(this.scaleConfig.getUidAttributeName(),
                        userData.getAttribs().get(this.scaleConfig.getUidAttributeName()).getValues().get(0)));
            } else {
                user.setUid(newUser.getAttributes().get(this.scaleConfig.getUidAttributeName()));
            }

            for (String attrName : newUser.getAttributes().keySet()) {
                user.getAttributes().add(new Attribute(attrName, newUser.getAttributes().get(attrName)));
            }

            if (this.scaleConfig.isPreSetPassword()) {
                user.setUserPassword(newUser.getPassword());

            }

            wfcall = new WFCall();
            wfcall.setUidAttributeName(this.scaleConfig.getUidAttributeName());
            wfcall.setReason(newUser.getReason());
            wfcall.setName(wfName);
            wfcall.setUser(user);

            HashMap<String, Object> params = new HashMap<String, Object>();
            wfcall.setRequestParams(params);

            if (userData.getAuthLevel() != 0 && !this.scaleConfig.isSubmitLoggedInUser()) {
                wfcall.setRequestor(
                        userData.getAttribs()
                                .get(GlobalEntries.getGlobalEntries().getConfigManager().getCfg()
                                        .getProvisioning().getApprovalDB().getUserIdAttribute())
                                .getValues().get(0));
                wfcall.getRequestParams().put(Approval.SEND_NOTIFICATION, "false");
                wfcall.getRequestParams().put(Approval.REASON, newUser.getReason());
                wfcall.getRequestParams().put(Approval.IMMEDIATE_ACTION, "true");
            }

            ExecuteWorkflow exec = new ExecuteWorkflow();

            try {
                exec.execute(wfcall, GlobalEntries.getGlobalEntries().getConfigManager());
            } catch (Exception e) {
                throw new ProvisioningException("Could not complete registration", e);
            }

            SubmitResponse res = new SubmitResponse();
            res.setAddNewUsers(userData.getAuthLevel() != 0);
            ScaleJSUtils.addCacheHeaders(response);
            response.getWriter().print(gson.toJson(res));
            response.getWriter().flush();

        } else {
            response.setStatus(500);
            ScaleJSUtils.addCacheHeaders(response);
            response.getWriter().print(gson.toJson(errors).trim());
            response.getWriter().flush();
        }

    } else {
        response.setStatus(500);
        ScaleJSUtils.addCacheHeaders(response);
        ScaleError error = new ScaleError();
        error.getErrors().add("Operation not supported");
        response.getWriter().print(gson.toJson(error).trim());
        response.getWriter().flush();
    }

}

From source file:edu.kit.scc.backend.HpssCdmi.java

private JSONObject makeHpssRestCall(String op, String path) {
    JSONObject configuration = new JSONObject();
    InputStream in = null;/* w  ww .  j ava2 s  .c  om*/

    String configurationPath = System.getProperty("cdmi.hpss.config", DEFAULT_CONFIG_PATH);
    try {

        Path configPath = Paths.get(configurationPath, "configuration.json");
        if (Files.exists(configPath)) {
            in = Files.newInputStream(configPath);
        } else {
            in = getClass().getResourceAsStream("/configuration.json");
        }

        BufferedReader reader = new BufferedReader(new InputStreamReader(in));

        StringBuffer stringBuffer = new StringBuffer();
        String inputLine;
        while ((inputLine = reader.readLine()) != null) {
            stringBuffer.append(inputLine);
        }

        configuration = new JSONObject(stringBuffer.toString());

        log.debug("Use configuration {}", configuration.toString());

    } catch (IOException ex) {
        ex.printStackTrace();
    }

    String url = configuration.getString(op) + path;
    String str = configuration.getString("rest_user") + ":" + configuration.getString("rest_password");

    String authorization = "Basic " + Base64.getEncoder().encodeToString(str.getBytes());
    log.info("Authorization {}", authorization);

    RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(5 * 1000).build();
    CloseableHttpClient httpclient = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build();

    HttpGet httpGet = new HttpGet(url);
    Header authorizationHeader = new BasicHeader("Authorization", authorization);
    httpGet.addHeader(authorizationHeader);
    CloseableHttpResponse response = null;
    BufferedReader buffReader = null;

    JSONObject json = new JSONObject();

    try {
        response = httpclient.execute(httpGet);

        log.info(response.getStatusLine().toString());
        HttpEntity entity = response.getEntity();
        buffReader = new BufferedReader(new InputStreamReader(entity.getContent()));
        StringBuffer stringBuffer = new StringBuffer();
        String inputLine;
        while ((inputLine = buffReader.readLine()) != null) {
            stringBuffer.append(inputLine);
        }
        EntityUtils.consume(entity);

        String content = stringBuffer.toString();
        log.debug(content);

        try {
            json = new JSONObject(content);
            log.info(json.toString());
        } catch (JSONException ex) {
            // ex.printStackTrace();
            log.warn(ex.getMessage());
        }
        try {
            JSONArray arr = new JSONArray(content);
            json.put("children", arr);
            log.info(json.toString());
        } catch (JSONException ex) {
            // ex.printStackTrace();
            log.warn(ex.getMessage());
        }
    } catch (ClientProtocolException ex) {
        // ex.printStackTrace();
        log.warn(ex.getMessage());
    } catch (IOException ex) {
        // ex.printStackTrace();
        log.warn(ex.getMessage());
    } finally {
        try {
            if (response != null) {
                response.close();
            }
        } catch (IOException ex) {
            // ex.printStackTrace();
            log.warn(ex.getMessage());
        }
        if (buffReader != null) {
            try {
                if (buffReader != null) {
                    buffReader.close();
                }
            } catch (IOException ex) {
                // ex.printStackTrace();
                log.warn(ex.getMessage());
            }
        }
    }

    return json;
}

From source file:org.commonjava.util.jhttpc.HttpFactory.java

public CloseableHttpClient createClient(final SiteConfig location) throws JHttpCException {
    CloseableHttpClient client;/*w  ww .ja  v  a 2s.  co m*/
    if (location != null) {
        HttpClientBuilder builder = HttpClients.custom();

        if (authenticator != null) {
            builder = authenticator.decorateClientBuilder(builder);
        }

        logger.debug("Using site config: {} for advanced client options", location);
        SiteConnectionConfig connConfig = new SiteConnectionConfig(location);

        final SSLConnectionSocketFactory sslFac = createSSLSocketFactory(location);
        if (sslFac != null) {
            //                HostnameVerifier verifier = new SSLHostnameVerifierImpl( );
            //                builder.setSSLHostnameVerifier( verifier );
            builder.setSSLSocketFactory(sslFac);
            connConfig.withSSLConnectionSocketFactory(sslFac);
        }

        ConnectionManagerTracker managerWrapper = connectionCache.getTrackerFor(connConfig);
        builder.setConnectionManager(managerWrapper.acquire());

        if (location.getProxyHost() != null) {
            final HttpRoutePlanner planner = new DefaultProxyRoutePlanner(
                    new HttpHost(location.getProxyHost(), getProxyPort(location)));
            builder.setRoutePlanner(planner);
        }

        final int timeout = 1000 * location.getRequestTimeoutSeconds();
        builder.setDefaultRequestConfig(RequestConfig.custom().setConnectionRequestTimeout(timeout)
                .setSocketTimeout(timeout).setConnectTimeout(timeout).build());

        client = new TrackedHttpClient(builder.build(), managerWrapper);
        //            client = builder.build();
    } else {
        client = HttpClients.createDefault();
    }

    return client;
}