Example usage for org.apache.http.client.fluent Request Post

List of usage examples for org.apache.http.client.fluent Request Post

Introduction

In this page you can find the example usage for org.apache.http.client.fluent Request Post.

Prototype

public static Request Post(final String uri) 

Source Link

Usage

From source file:org.obm.satellite.client.ConnectionImpl.java

private void post(String hostName, String host, String path) {
    try {//from  w w  w  . j a  v a2  s  .  c  om
        URI uri = new URIBuilder().setScheme(configuration.getSatelliteProtocol().getScheme()).setHost(host)
                .setPort(configuration.getSatellitePort()).setPath(String.format(path, hostName)).build();
        StatusLine statusLine = Executor.newInstance(client)
                .authPreemptive(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()))
                .auth(configuration.getUsername(), configuration.getPassword().getStringValue())
                .execute(Request.Post(uri)).returnResponse().getStatusLine();

        if (statusLine.getStatusCode() != HttpStatus.SC_OK) {
            throw new SatteliteClientException(String.format("The MTA at %s returned %s", host, statusLine));
        }
    } catch (IOException e) {
        throw new ConnectionException(e);
    } catch (URISyntaxException e) {
        throw new SatteliteClientException(e);
    }
}

From source file:br.gov.jfrj.siga.base.SigaHTTP.java

/**
 * @param URL//from  w w w.j a v a  2  s . c  o m
 * @param request (se for modulo play, setar pra null)
 * @param cookieValue (necessario apenas nos modulos play)
 */
public String get(String URL, HttpServletRequest request, String cookieValue) {
    String html = "";

    if (URL.startsWith("/"))
        URL = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + URL;

    try {
        // Efetua o request para o Service Provider (mdulo)
        Request req = Request.Get(URL);
        //    req.addHeader(COOKIE, JSESSIONID_PREFIX+getCookie(request, cookieValue));
        // Atribui o html retornado e pega o header do Response
        // Se a aplicao j efetuou a autenticao entre o mdulo da URL o contedo ser trago nesse primeiro GET
        // Caso contrrio passar pelo processo de autenticao (if abaixo)
        html = req.execute().handleResponse(new ResponseHandler<String>() {
            @Override
            public String handleResponse(HttpResponse httpResponse)
                    throws ClientProtocolException, IOException {
                // O atributo que importa nesse header  o set-cookie que ser utilizado posteriormente
                headers = httpResponse.getAllHeaders();
                return IOUtils.toString(httpResponse.getEntity().getContent(), "UTF-8");
            }
        });

        // Verifica se retornou o form de autenticao do picketlink 
        if (html.contains(HTTP_POST_BINDING_REQUEST)) {
            // Atribui o cookie recuperado no response anterior
            String setCookie = null;
            try {
                setCookie = extractCookieFromHeader(getHeader(SET_COOKIE));
            } catch (ElementNotFoundException elnf) {
                log.warning("Nao encontrou o set-cookie");
                setCookie = getCookie(request, cookieValue);
            }

            // Atribui o valor do SAMLRequest contido no html retornado no GET efetuado.
            String SAMLRequestValue = getAttributeValueFromHtml(html, SAMLRequest);
            // Atribui a URL do IDP (sigaidp)
            String idpURL = getAttributeActionFromHtml(html);

            // Faz um novo POST para o IDP com o SAMLRequest como parametro e utilizando o sessionID do IDP
            html = Request.Post(idpURL).addHeader(COOKIE, JSESSIONID_PREFIX + getIdp(request))
                    .bodyForm(Form.form().add(SAMLRequest, SAMLRequestValue).build()).execute().returnContent()
                    .toString();

            // Extrai o valor do SAMLResponse
            // Caso o SAMLResponse no esteja disponvel aqui,  porque o JSESSIONID utilizado no foi o do IDP.
            String SAMLResponseValue = getAttributeValueFromHtml(html, SAMLResponse);

            // Faz um POST para o SP com o atributo SAMLResponse utilizando o sessionid do primeiro GET
            // O retorno  discartado pois o resultado  um 302.
            Request.Post(URL).addHeader(COOKIE, JSESSIONID_PREFIX + setCookie)
                    .bodyForm(Form.form().add(SAMLResponse, SAMLResponseValue).build()).execute()
                    .discardContent();

            // Agora que estamos autenticado efetua o GET para pgina desejada.
            html = Request.Get(URL).addHeader(COOKIE, JSESSIONID_PREFIX + setCookie).execute().returnContent()
                    .toString();
            if (html.contains(HTTP_POST_BINDING_REQUEST)) {
                log.info("Alguma coisa falhou na autenticao!: " + idpURL);
            }
        }
    } catch (Exception io) {
        io.printStackTrace();
    }

    return html;
}

From source file:org.apromore.plugin.deployment.yawl.YAWLEngineClient.java

private String sendRequestToYAWL(final String request) throws DeploymentException {
    try {//w  w  w.  ja v  a 2  s . com
        return Request.Post(engineUrl).useExpectContinue().addHeader("Accept-Charset", ENCODING)
                .version(HttpVersion.HTTP_1_1).bodyString(request, ContentType.APPLICATION_FORM_URLENCODED)
                .execute().returnContent().asString();
    } catch (IOException e) {
        throw new DeploymentException("Request to YAWL engine failed.", e);
    }
}

From source file:org.mule.module.http.functional.listener.HttpListenerUrlEncodedTestCase.java

@Test
public void urlEncodedEmptyParamsGenerateANullPayload() throws Exception {
    final Response response = Request.Post(getListenerUrl()).execute();
    assertNullPayloadAndEmptyResponse(response);
}

From source file:org.restheart.test.integration.DocIdTypeIT.java

@Test
public void testPostCollectionString() throws Exception {
    try {//from w  w  w.j a v  a  2  s . com
        Response resp;

        // *** PUT tmpdb
        resp = adminExecutor.execute(Request.Put(dbTmpUri).bodyString("{a:1}", halCT)
                .addHeader(Headers.CONTENT_TYPE_STRING, Representation.HAL_JSON_MEDIA_TYPE));
        check("check put db", resp, HttpStatus.SC_CREATED);

        // *** PUT tmpcoll
        resp = adminExecutor.execute(Request.Put(collectionTmpUri).bodyString("{a:1}", halCT)
                .addHeader(Headers.CONTENT_TYPE_STRING, Representation.HAL_JSON_MEDIA_TYPE));
        check("check put coll1", resp, HttpStatus.SC_CREATED);

        URI collectionTmpUriInt = buildURI("/" + dbTmpName + "/" + collectionTmpName,
                new NameValuePair[] { new BasicNameValuePair(DOC_ID_TYPE_KEY, DOC_ID_TYPE.STRING.name()) });

        // *** POST tmpcoll
        resp = adminExecutor.execute(Request.Post(collectionTmpUriInt)
                .bodyString("{_id:{'$oid':'54c965cbc2e64568e235b711'}, a:1}", halCT)
                .addHeader(Headers.CONTENT_TYPE_STRING, Representation.HAL_JSON_MEDIA_TYPE));
        HttpResponse httpResp = check("check post coll1 again", resp, HttpStatus.SC_CREATED);

        Header[] headers = httpResp.getHeaders(Headers.LOCATION_STRING);

        assertNotNull("check loocation header", headers);
        assertTrue("check loocation header", headers.length > 0);

        Header locationH = headers[0];
        String location = locationH.getValue();

        //assertTrue("check location header value", location.endsWith("/54c965cbc2e64568e235b711?id_type=STRING"));
        URI createdDocUri = URI.create(location);

        resp = adminExecutor.execute(Request.Get(createdDocUri).addHeader(Headers.CONTENT_TYPE_STRING,
                Representation.HAL_JSON_MEDIA_TYPE));

        JsonObject content = JsonObject.readFrom(resp.returnContent().asString());
        assertTrue("check created doc content",
                content.get("_id").asObject().get("$oid").asString().equals("54c965cbc2e64568e235b711"));
        assertNotNull("check created doc content", content.get("_etag"));
        assertNotNull("check created doc content", content.get("a"));
        assertTrue("check created doc content", content.get("a").asInt() == 1);

        // *** filter - case 1 - with string id should not find it
        URI collectionTmpUriSearch = buildURI("/" + dbTmpName + "/" + collectionTmpName,
                new NameValuePair[] { new BasicNameValuePair("filter", "{'_id':'54c965cbc2e64568e235b711'}") });

        resp = adminExecutor.execute(Request.Get(collectionTmpUriSearch).addHeader(Headers.CONTENT_TYPE_STRING,
                Representation.HAL_JSON_MEDIA_TYPE));

        content = JsonObject.readFrom(resp.returnContent().asString());
        assertTrue("check created doc content", content.get("_returned").asInt() == 0);

        // *** filter - case 1 - with oid id should find it
        collectionTmpUriSearch = buildURI("/" + dbTmpName + "/" + collectionTmpName, new NameValuePair[] {
                new BasicNameValuePair("filter", "{'_id':{'$oid':'54c965cbc2e64568e235b711'}}") });

        resp = adminExecutor.execute(Request.Get(collectionTmpUriSearch).addHeader(Headers.CONTENT_TYPE_STRING,
                Representation.HAL_JSON_MEDIA_TYPE));

        content = JsonObject.readFrom(resp.returnContent().asString());
        assertTrue("check created doc content", content.get("_returned").asInt() == 1);

    } finally {
        mongoClient.dropDatabase(dbTmpName);
    }
}

From source file:com.qwazr.search.index.IndexSingleClient.java

@Override
public LinkedHashMap<String, FieldDefinition> setFields(String schema_name, String index_name,
        LinkedHashMap<String, FieldDefinition> fields) {
    UBuilder uriBuilder = new UBuilder("/indexes/", schema_name, "/", index_name, "/fields");
    Request request = Request.Post(uriBuilder.build());
    return commonServiceRequest(request, fields, null, FieldDefinition.MapStringFieldTypeRef, 200);
}

From source file:com.qwazr.database.TableSingleClient.java

@Override
public Long upsertRows(String table_name, List<Map<String, Object>> rows) {
    UBuilder uriBuilder = new UBuilder("/table/", table_name, "/row");
    Request request = Request.Post(uriBuilder.build());
    return commonServiceRequest(request, rows, null, Long.class, 200);
}

From source file:org.wisdom.framework.vertx.FormTest.java

@Test
public void testFormSubmissionAsMultipart() throws InterruptedException, IOException {
    Router router = prepareServer();//ww w .j  a va 2s.com

    // Prepare the router with a controller
    Controller controller = new DefaultController() {
        @SuppressWarnings("unused")
        public Result submit() {
            final Map<String, List<String>> form = context().form();
            // String
            if (!form.get("key").get(0).equals("value")) {
                return badRequest("key is not equals to value");
            }

            // Multiple values
            List<String> list = form.get("list");
            if (!(list.contains("1") && list.contains("2"))) {
                return badRequest("list does not contains 1 and 2");
            }

            return ok(context().header(HeaderNames.CONTENT_TYPE));
        }
    };
    Route route = new RouteBuilder().route(HttpMethod.POST).on("/").to(controller, "submit");
    when(router.getRouteFor(anyString(), anyString(), any(org.wisdom.api.http.Request.class)))
            .thenReturn(route);

    server.start();
    waitForStart(server);

    int port = server.httpPort();

    MultipartEntityBuilder builder = MultipartEntityBuilder.create();
    builder.addTextBody("key", "value", ContentType.TEXT_PLAIN).addTextBody("list", "1", ContentType.TEXT_PLAIN)
            .addTextBody("list", "2", ContentType.TEXT_PLAIN);

    final HttpResponse response = Request.Post("http://localhost:" + port + "/").body(builder.build()).execute()
            .returnResponse();

    assertThat(response.getStatusLine().getStatusCode()).isEqualTo(200);
    assertThat(EntityUtils.toString(response.getEntity())).contains(MimeTypes.MULTIPART);
}

From source file:io.gravitee.gateway.standalone.PostContentGatewayTest.java

@Test
public void call_case3_raw() throws Exception {
    String testCase = "case3";

    InputStream is = this.getClass().getClassLoader().getResourceAsStream(testCase + "/request_content.json");
    Request request = Request.Post("http://localhost:8082/test/my_team?mode=chunk&case=" + testCase)
            .bodyStream(is, ContentType.APPLICATION_JSON);

    try {/*from  w ww  .  j a v  a 2  s. co m*/
        Response response = request.execute();

        HttpResponse returnResponse = response.returnResponse();
        assertEquals(HttpStatus.SC_OK, returnResponse.getStatusLine().getStatusCode());

        // Set chunk mode in request but returns raw because of the size of the content
        assertEquals(null, returnResponse.getFirstHeader(HttpHeaders.TRANSFER_ENCODING));

        String responseContent = StringUtils.copy(returnResponse.getEntity().getContent());
        assertEquals(70, responseContent.length());
    } catch (Exception e) {
        e.printStackTrace();
        assertTrue(false);
    }
}

From source file:org.mule.module.http.functional.listener.HttpListenerUrlEncodedTestCase.java

@Test
public void urlEncodedEmptyParamsUrlEncodedContentTypeGenerateANullPayload() throws Exception {
    final Response response = Request.Post(getListenerUrl())
            .addHeader(CONTENT_TYPE, APPLICATION_X_WWW_FORM_URLENCODED).execute();

    assertNullPayloadAndEmptyResponse(response);
}