Example usage for org.apache.http.client.methods RequestBuilder post

List of usage examples for org.apache.http.client.methods RequestBuilder post

Introduction

In this page you can find the example usage for org.apache.http.client.methods RequestBuilder post.

Prototype

public static RequestBuilder post() 

Source Link

Usage

From source file:net.ymate.platform.module.wechat.support.HttpClientHelper.java

public String doPost(String url, String content) throws Exception {
    CloseableHttpClient _httpClient = __doBuildHttpClient();
    try {//ww w. j  a  va 2 s  .c o  m
        _LOG.debug("Request URL [" + url + "] PostBody [" + content + "]");
        String _result = _httpClient.execute(
                RequestBuilder.post().setUri(url)
                        .setEntity(EntityBuilder.create().setContentEncoding(DEFAULT_CHARSET)
                                .setContentType(ContentType.create("application/x-www-form-urlencoded",
                                        DEFAULT_CHARSET))
                                .setText(content).build())
                        .build(),
                new ResponseHandler<String>() {

                    public String handleResponse(HttpResponse response) throws IOException {
                        return EntityUtils.toString(response.getEntity(), DEFAULT_CHARSET);
                    }

                });
        _LOG.debug("Request URL [" + url + "] Response [" + _result + "]");
        return _result;
    } finally {
        _httpClient.close();
    }
}

From source file:nl.b3p.viewer.admin.ViewerAdminLockoutIntegrationTest.java

/**
 * This test work; but will be ignored because we need to catalina.out file
 * to check for the message and that does not seem te be generated.
 *
 * @throws IOException if any//  ww  w  .j  a v a 2 s . c  o  m
 * @throws URISyntaxException if any
 */
@Test
public void testCLockout() throws IOException, URISyntaxException {
    response = client.execute(new HttpGet(BASE_TEST_URL));
    EntityUtils.consume(response.getEntity());

    HttpUriRequest login = RequestBuilder.post().setUri(new URI(BASE_TEST_URL + "j_security_check"))
            .addParameter("j_username", "admin").addParameter("j_password", "fout").build();
    response = client.execute(login);
    EntityUtils.consume(response.getEntity());
    assertThat("Response status is OK.", response.getStatusLine().getStatusCode(), equalTo(HttpStatus.SC_OK));

    // the default lockout is 5 attempt in 5 minutes
    for (int c = 1; c < 6; c++) {
        response = client.execute(login);
        EntityUtils.consume(response.getEntity());
        assertThat("Response status is OK.", response.getStatusLine().getStatusCode(),
                equalTo(HttpStatus.SC_OK));
    }
    // user 'fout' is now locked out, but we have no way to detect apart from looking at the cataline logfile,
    //   the status for a form-based login page is (and should be) 200

    LOG.info("trying one laste time with locked-out user, but correct password");
    login = RequestBuilder.post().setUri(new URI(BASE_TEST_URL + "j_security_check"))
            .addParameter("j_username", "admin").addParameter("j_password", "flamingo").build();
    response = client.execute(login);

    String body = EntityUtils.toString(response.getEntity());
    assertThat("Response status is OK.", response.getStatusLine().getStatusCode(), equalTo(HttpStatus.SC_OK));

    assertNotNull("Response body mag niet null zijn.", body);
    assertTrue("Response moet 'Ongeldige logingegevens.' text hebben.",
            body.contains("Ongeldige logingegevens."));

    // there will be a message in catalina.out similar to: `WARNING: An attempt was made to authenticate the locked user "admin"`
    // problem is this is output to the console so logging is broken in tomcat plugin, so below assumption will fail and mark this test as ignored
    InputStream is = ViewerAdminLockoutIntegrationTest.class.getClassLoader()
            .getResourceAsStream("catalina.log");
    assumeNotNull("The catalina.out should privide a valid inputstream.", is);

    Scanner s = new Scanner(is);
    boolean lokkedOut = false;
    while (s.hasNextLine()) {
        final String lineFromFile = s.nextLine();
        if (lineFromFile.contains("An attempt was made to authenticate the locked user \"admin\"")) {
            lokkedOut = true;
            break;
        }
    }
    assertTrue("gebruiker 'admin' is buitengesloten", lokkedOut);
}

From source file:com.vmware.bdd.plugin.clouderamgr.poller.host.HostInstallPoller.java

private void login() throws Exception {
    cookieStore = new BasicCookieStore();
    CloseableHttpClient loginClient = HttpClients.custom().setDefaultCookieStore(cookieStore).build();
    URI uri = new URI(domain + POST_ADDR);
    HttpUriRequest login = RequestBuilder.post().setUri(uri).addParameter(POST_USER_KEY, username)
            .addParameter(POST_PASSWORD_KEY, password).build();
    logger.info("Login " + uri.toString());

    CloseableHttpResponse response = loginClient.execute(login);
    try {//from   w w  w  .ja  va 2 s.  c  om
        HttpEntity entity = response.getEntity();

        logger.info("Login form get: " + response.getStatusLine());
        EntityUtils.consume(entity);

        List<Cookie> cookies = cookieStore.getCookies();
        if (cookies.isEmpty()) {
            logger.info("Get no cookies");
        } else {
            logger.info("All cookies: " + (new Gson()).toJson(cookies));
        }
    } finally {
        response.close();
        loginClient.close();
    }
}

From source file:com.esri.geoevent.test.performance.provision.GeoEventProvisioner.java

private void refreshToken() throws IOException {
    //System.out.println("Refreshing token with username=" + userName + " and password=" + password);
    long now = System.currentTimeMillis();
    if (now < expiration) {
        return;/*from   w  ww.  jav a 2 s.  co  m*/
    }

    System.out.print(ImplMessages.getMessage("PROVISIONER_FETCHING_TOKEN_MSG"));
    referer = "https://" + hostName + ":6143/geoevent/admin";
    String serverTokenUrl = "http://" + hostName + ":6080/arcgis/tokens/generateToken";
    CloseableHttpClient httpClient = HttpClients.createDefault();

    try {
        HttpUriRequest postRequest = RequestBuilder.post().setUri(new URI(serverTokenUrl))
                .addParameter("username", userName).addParameter("password", password)
                .addParameter("client", "referer").addParameter("referer", referer).addParameter("f", "json")
                .build();
        HttpResponse tokenGenerationResponse = httpClient.execute(postRequest);
        ObjectMapper mapper = new ObjectMapper();
        JsonNode schema = mapper.readTree(tokenGenerationResponse.getEntity().getContent());

        if (!schema.has("token")) {
            System.out.println(ImplMessages.getMessage("PROVISIONER_TOKEN_ERROR_RESPONSE", schema.toString()));
            throw new IOException(ImplMessages.getMessage("PROVISIONER_TOKEN_ERROR"));
        }
        token = schema.get("token").asText();
        expiration = schema.get("expires").asLong();
        System.out.println(ImplMessages.getMessage("DONE"));
    } catch (UnsupportedEncodingException | ClientProtocolException | URISyntaxException e) {
        System.err.println(ImplMessages.getMessage("PROVISIONER_TOKEN_EXCEPTION_ERROR", e.getMessage()));
        e.printStackTrace();
        throw new IOException(e.getMessage());
    } finally {
        try {
            httpClient.close();
        } catch (Throwable t) {
            throw new IOException(t.getMessage());
        }
    }
}

From source file:org.dasein.cloud.azure.platform.AzureSQLDatabaseSupportRequests.java

public RequestBuilder addFirewallRule(String serverName, ServerServiceResourceModel firewallRule) {
    RequestBuilder requestBuilder = RequestBuilder.post();
    addAzureCommonHeaders(requestBuilder);
    requestBuilder.setUri(//from  www .j a  va2  s  . com
            String.format(RESOURCE_SERVER_FIREWALL, this.provider.getContext().getAccountNumber(), serverName));
    requestBuilder.setEntity(new DaseinObjectToXmlEntity<ServerServiceResourceModel>(firewallRule));
    return requestBuilder;
}

From source file:net.ymate.platform.module.wechat.support.HttpClientHelper.java

public String doPost(String url, byte[] content) throws Exception {
    CloseableHttpClient _httpClient = __doBuildHttpClient();
    try {// w  w w  .j  a  v a2  s.  c  o  m
        _LOG.debug("Request URL [" + url + "] PostBody [" + content + "]");
        String _result = _httpClient.execute(
                RequestBuilder.post().setUri(url)
                        .setEntity(EntityBuilder.create().setContentEncoding(DEFAULT_CHARSET)
                                .setContentType(ContentType.create("application/x-www-form-urlencoded",
                                        DEFAULT_CHARSET))
                                .setBinary(content).build())
                        .build(),
                new ResponseHandler<String>() {

                    public String handleResponse(HttpResponse response) throws IOException {
                        return EntityUtils.toString(response.getEntity(), DEFAULT_CHARSET);
                    }

                });
        _LOG.debug("Request URL [" + url + "] Response [" + _result + "]");
        return _result;
    } finally {
        _httpClient.close();
    }
}

From source file:gobblin.writer.http.SalesforceRestWriter.java

/**
 * For single request, creates HttpUriRequest and decides post/patch operation based on input parameter.
 *
 * For batch request, add the record into JsonArray as a subrequest and only creates HttpUriRequest with POST method if it filled the batch size.
 * {@inheritDoc}// ww  w. j  a  v a2 s.  c  om
 * @see gobblin.writer.http.RestJsonWriter#onNewRecord(gobblin.converter.rest.RestEntry)
 */
@Override
public Optional<HttpUriRequest> onNewRecord(RestEntry<JsonObject> record) {
    Preconditions.checkArgument(!StringUtils.isEmpty(accessToken), "Access token has not been acquired.");
    Preconditions.checkNotNull(record, "Record should not be null");

    RequestBuilder builder = null;
    JsonObject payload = null;

    if (batchSize > 1) {
        if (!batchRecords.isPresent()) {
            batchRecords = Optional.of(new JsonArray());
        }
        batchRecords.get().add(newSubrequest(record));

        if (batchRecords.get().size() < batchSize) { //No need to send. Return absent.
            return Optional.absent();
        }

        payload = newPayloadForBatch();
        builder = RequestBuilder.post().setUri(combineUrl(getCurServerHost(), batchResourcePath));
    } else {
        switch (operation) {
        case INSERT_ONLY_NOT_EXIST:
            builder = RequestBuilder.post();
            break;
        case UPSERT:
            builder = RequestBuilder.patch();
            break;
        default:
            throw new IllegalArgumentException(operation + " is not supported.");
        }
        builder.setUri(combineUrl(getCurServerHost(), record.getResourcePath()));
        payload = record.getRestEntryVal();
    }
    return Optional.of(newRequest(builder, payload));
}

From source file:org.panifex.test.support.IWebTestSupport.java

protected final String testPost(String path, int httpSC, String expectedContent, Map<String, String> params) {
    RequestBuilder requestBuilder = RequestBuilder.post().setUri(path);

    if (params != null) {
        for (Map.Entry<String, String> param : params.entrySet()) {
            requestBuilder.addParameter(param.getKey(), param.getValue());
        }//from   ww w  .ja va2s. co m
    }

    return testSendHttpRequest(requestBuilder.build(), httpSC, expectedContent);
}

From source file:com.vmware.gemfire.tools.pulse.tests.junit.ClusterSelectedRegionServiceTest.java

/**
*
* Tests that response is for same region
*
* Test method for {@link com.vmware.gemfire.tools.pulse.internal.service.ClusterSelectedRegionService#execute(javax.servlet.http.HttpServletRequest)}.
*
*///from www.j  a v a  2s.com
@Test
public void testResponseRegionPathMatches() {
    System.out.println(
            "ClusterSelectedRegionServiceTest ::  ------TESTCASE BEGIN : REGION PATH IN RESPONSE CHECK FOR CLUSTER REGIONS------");
    if (httpclient != null) {
        try {
            HttpUriRequest pulseupdate = RequestBuilder.post().setUri(new URI(PULSE_UPDATE_URL))
                    .addParameter(PULSE_UPDATE_PARAM, PULSE_UPDATE_1_VALUE).build();
            CloseableHttpResponse response = httpclient.execute(pulseupdate);
            try {
                HttpEntity entity = response.getEntity();

                System.out.println("ClusterSelectedRegionServiceTest :: HTTP request status : "
                        + response.getStatusLine());

                BufferedReader respReader = new BufferedReader(new InputStreamReader(entity.getContent()));
                StringWriter sw = new StringWriter();
                PrintWriter pw = new PrintWriter(sw);
                String sz = null;
                while ((sz = respReader.readLine()) != null) {
                    pw.print(sz);
                }
                String jsonResp = sw.getBuffer().toString();
                System.out.println("ClusterSelectedRegionServiceTest :: JSON response returned : " + jsonResp);
                EntityUtils.consume(entity);

                JSONObject jsonObj = new JSONObject(jsonResp);
                JSONObject clusterSelectedRegionObj = jsonObj.getJSONObject("ClusterSelectedRegion");
                Assert.assertNotNull(
                        "ClusterSelectedRegionServiceTest :: Server returned null response for ClusterSelectedRegion",
                        clusterSelectedRegionObj);
                JSONObject jsonObjRegion = clusterSelectedRegionObj.getJSONObject("selectedRegion");
                Assert.assertNotNull(
                        "ClusterSelectedRegionServiceTest :: Server returned null response for selectedRegion",
                        jsonObjRegion);
                Assert.assertTrue("ClusterSelectedRegionServiceTest :: Server did not return 'path' of region",
                        jsonObjRegion.has("path"));
                String szPath = jsonObjRegion.getString("path");
                Assert.assertEquals(
                        "ClusterSelectedRegionServiceTest :: Server returned wrong region path. Expected region path = /GlobalVilage_2/GlobalVilage_9 , actual region path = "
                                + szPath,
                        szPath, "/GlobalVilage_2/GlobalVilage_9");
            } finally {
                response.close();
            }
        } catch (Exception failed) {
            logException(failed);
            Assert.fail("Exception ! ");
        }
    } else {
        Assert.fail("ClusterSelectedRegionServiceTest :: No Http connection was established.");
    }
    System.out.println(
            "ClusterSelectedRegionServiceTest ::  ------TESTCASE END : REGION PATH IN RESPONSE CHECK FOR CLUSTER REGIONS------\n");
}

From source file:com.tremolosecurity.unison.proxy.auth.openidconnect.OpenIDConnectAuthMech.java

public void doGet(HttpServletRequest request, HttpServletResponse response, AuthStep as)
        throws IOException, ServletException {

    HttpSession session = ((HttpServletRequest) request).getSession();
    HashMap<String, Attribute> authParams = (HashMap<String, Attribute>) session
            .getAttribute(ProxyConstants.AUTH_MECH_PARAMS);
    ConfigManager cfg = (ConfigManager) request.getAttribute(ProxyConstants.TREMOLO_CFG_OBJ);

    MyVDConnection myvd = cfg.getMyVD();

    String bearerTokenName = authParams.get("bearerTokenName").getValues().get(0);
    String clientid = authParams.get("clientid").getValues().get(0);
    String secret = authParams.get("secretid").getValues().get(0);
    String idpURL = authParams.get("idpURL").getValues().get(0);
    String responseType = authParams.get("responseType").getValues().get(0);
    String scope = authParams.get("scope").getValues().get(0);
    boolean linkToDirectory = Boolean.parseBoolean(authParams.get("linkToDirectory").getValues().get(0));
    String noMatchOU = authParams.get("noMatchOU").getValues().get(0);
    String uidAttr = authParams.get("uidAttr").getValues().get(0);
    String lookupFilter = authParams.get("lookupFilter").getValues().get(0);
    String userLookupClassName = authParams.get("userLookupClassName").getValues().get(0);

    String defaultObjectClass = authParams.get("defaultObjectClass").getValues().get(0);

    boolean forceAuth = true;//authParams.get("forceAuthentication") != null ? authParams.get("forceAuthentication").getValues().get(0).equalsIgnoreCase("true") : false;

    UrlHolder holder = (UrlHolder) request.getAttribute(ProxyConstants.AUTOIDM_CFG);
    RequestHolder reqHolder = ((AuthController) session.getAttribute(ProxyConstants.AUTH_CTL)).getHolder();

    StringBuffer b = new StringBuffer();

    URL reqURL = new URL(request.getRequestURL().toString());

    b.append(reqURL.getProtocol()).append("://").append(reqURL.getHost());

    if (reqURL.getPort() != -1) {
        b.append(":").append(reqURL.getPort());
    }/*from  w w  w.j  a v a  2  s .com*/

    String urlChain = holder.getUrl().getAuthChain();
    AuthChainType act = holder.getConfig().getAuthChains().get(reqHolder.getAuthChainName());

    AuthMechType amt = act.getAuthMech().get(as.getId());

    String authMechName = amt.getName();

    b.append(holder.getConfig().getContextPath()).append(cfg.getAuthMechs().get(authMechName).getUri());

    String hd = authParams.get("hd").getValues().get(0);
    String loadTokenURL = authParams.get("loadTokenURL").getValues().get(0);

    if (request.getParameter("state") == null) {
        //initialize openidconnect

        String state = new BigInteger(130, new SecureRandom()).toString(32);
        request.getSession().setAttribute("UNISON_OPENIDCONNECT_STATE", state);

        StringBuffer redirToSend = new StringBuffer();
        redirToSend.append(idpURL).append("?client_id=").append(URLEncoder.encode(clientid, "UTF-8"))
                .append("&response_type=").append(URLEncoder.encode(responseType, "UTF-8")).append("&scope=")
                .append(URLEncoder.encode(scope, "UTF-8")).append("&redirect_uri=")
                .append(URLEncoder.encode(b.toString(), "UTF-8")).append("&state=")
                .append(URLEncoder.encode("security_token=", "UTF-8"))
                .append(URLEncoder.encode(state, "UTF-8"));

        if (forceAuth) {
            redirToSend.append("&max_age=0");
        }

        if (!hd.isEmpty()) {
            redirToSend.append("&hd=").append(hd);
        }

        response.sendRedirect(redirToSend.toString());

    } else {
        String stateFromURL = request.getParameter("state");
        stateFromURL = URLDecoder.decode(stateFromURL, "UTF-8");
        stateFromURL = stateFromURL.substring(stateFromURL.indexOf('=') + 1);

        String stateFromSession = (String) request.getSession().getAttribute("UNISON_OPENIDCONNECT_STATE");

        if (!stateFromSession.equalsIgnoreCase(stateFromURL)) {
            throw new ServletException("Invalid State");
        }

        HttpUriRequest post = null;

        try {
            post = RequestBuilder.post().setUri(new java.net.URI(loadTokenURL))
                    .addParameter("code", request.getParameter("code")).addParameter("client_id", clientid)
                    .addParameter("client_secret", secret).addParameter("redirect_uri", b.toString())
                    .addParameter("grant_type", "authorization_code").build();
        } catch (URISyntaxException e) {
            throw new ServletException("Could not create post request");
        }

        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();

        CloseableHttpResponse httpResp = http.execute(post);

        BufferedReader in = new BufferedReader(new InputStreamReader(httpResp.getEntity().getContent()));

        StringBuffer token = new StringBuffer();

        String line = null;
        while ((line = in.readLine()) != null) {
            token.append(line);
        }

        httpResp.close();
        bhcm.close();

        Gson gson = new Gson();

        Map tokenNVP = com.cedarsoftware.util.io.JsonReader.jsonToMaps(token.toString());

        String accessToken;

        //Store the bearer token for use by Unison
        request.getSession().setAttribute(bearerTokenName, tokenNVP.get("access_token"));

        Map jwtNVP = null;
        LoadUserData loadUser = null;
        try {
            loadUser = (LoadUserData) Class.forName(userLookupClassName).newInstance();
            jwtNVP = loadUser.loadUserAttributesFromIdP(request, response, cfg, authParams, tokenNVP);
        } catch (Exception e) {
            throw new ServletException("Could not load user data", e);
        }

        if (jwtNVP == null) {
            as.setSuccess(false);
        } else {
            if (!linkToDirectory) {
                loadUnlinkedUser(session, noMatchOU, uidAttr, act, jwtNVP, defaultObjectClass);

                as.setSuccess(true);

            } else {
                lookupUser(as, session, myvd, noMatchOU, uidAttr, lookupFilter, act, jwtNVP,
                        defaultObjectClass);
            }

            String redirectToURL = request.getParameter("target");
            if (redirectToURL != null && !redirectToURL.isEmpty()) {
                reqHolder.setURL(redirectToURL);
            }
        }

        holder.getConfig().getAuthManager().nextAuth(request, response, session, false);

    }

}