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

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

Introduction

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

Prototype

public Request addHeader(final String name, final String value) 

Source Link

Usage

From source file:org.apache.james.jmap.methods.integration.cucumber.UploadStepdefs.java

@When("^\"([^\"]*)\" checks for the availability of the upload endpoint$")
public void optionUpload(String username) throws Throwable {
    AccessToken accessToken = userStepdefs.tokenByUser.get(username);
    Request request = Request.Options(uploadUri);
    if (accessToken != null) {
        request.addHeader("Authorization", accessToken.serialize());
    }/*www  . jav  a2 s. c om*/
    response = request.execute().returnResponse();
}

From source file:com.google.gerrit.acceptance.rest.change.CorsIT.java

@Test
public void preflightBadOrigin() throws Exception {
    Result change = createChange();

    Request req = Request.Options(adminRestSession.url() + "/a/changes/" + change.getChangeId() + "/detail");
    req.addHeader(ORIGIN, "http://evil.attacker");
    req.addHeader(ACCESS_CONTROL_REQUEST_METHOD, "GET");

    adminRestSession.execute(req).assertBadRequest();
}

From source file:com.google.gerrit.acceptance.rest.change.CorsIT.java

@Test
public void preflightBadHeader() throws Exception {
    Result change = createChange();

    Request req = Request.Options(adminRestSession.url() + "/a/changes/" + change.getChangeId() + "/detail");
    req.addHeader(ORIGIN, "http://example.com");
    req.addHeader(ACCESS_CONTROL_REQUEST_METHOD, "GET");
    req.addHeader(ACCESS_CONTROL_REQUEST_HEADERS, "X-Gerrit-Auth");

    adminRestSession.execute(req).assertBadRequest();
}

From source file:com.google.gerrit.acceptance.rest.change.CorsIT.java

@Test
public void preflightOk() throws Exception {
    Result change = createChange();

    String origin = "http://example.com";
    Request req = Request.Options(adminRestSession.url() + "/a/changes/" + change.getChangeId() + "/detail");
    req.addHeader(ORIGIN, origin);
    req.addHeader(ACCESS_CONTROL_REQUEST_METHOD, "GET");
    req.addHeader(ACCESS_CONTROL_REQUEST_HEADERS, "X-Requested-With");

    RestResponse res = adminRestSession.execute(req);
    res.assertOK();/*from ww  w. j a  va  2 s . c  om*/
    checkCors(res, true, origin);
}

From source file:org.ow2.proactive.addons.webhook.service.JsonRestApacheRequestService.java

public RestResponse doRequest(String restMethod, String jsonHeader, String url, String content)
        throws IOException {
    Request request = apacheHttpClientRequestGetter.getHttpRequestByString(restMethod, url);

    for (Map.Entry<String, String> entry : jsonStringToHeaderMap.convert(jsonHeader).entrySet()) {
        request.addHeader(entry.getKey(), entry.getValue());
    }//from  ww  w  .  j  a  v  a 2  s . com

    if (content != null && !content.isEmpty()) {
        request.bodyString(content, ContentType.TEXT_PLAIN);
    }

    return executeRequest(request);
}

From source file:photosharing.api.conx.SearchTagsDefinition.java

/**
 * searches for tags based in the IBM Connections Cloud - Files service, and limit results to documents only
 * /*from w  ww  .j  a v a  2  s . c om*/
 * @see photosharing.api.base.APIDefinition#run(javax.servlet.http.HttpServletRequest,
 *      javax.servlet.http.HttpServletResponse)
 */
@Override
public void run(HttpServletRequest request, HttpServletResponse response) {

    /**
     * check if query is empty, send SC_PRECONDITION_FAILED 412
     */
    String query = request.getParameter("q");
    if (query == null || query.isEmpty()) {
        response.setStatus(HttpStatus.SC_PRECONDITION_FAILED);
    }

    /**
     * get the users bearer token
     */
    HttpSession session = request.getSession(false);
    OAuth20Data data = (OAuth20Data) session.getAttribute(OAuth20Handler.CREDENTIALS);
    String bearer = data.getAccessToken();

    /**
     * The query should be cleansed before passing it to the backend
     * 
     * Example 
     * http://localhost:9080/photoSharing/api/searchTags?q=s
     * maps to 
     * https://apps.collabservnext.com/files/oauth/api/tags/feed?format=json&scope=document&pageSize=16&filter=a
     * 
     * Response Data
     * {"pageSize":2,"startIndex":1,"hasMore":true,"items":[{"name":"a","weight":482}]}
     */
    Request get = Request.Get(getApiUrl(query));
    get.addHeader("Authorization", "Bearer " + bearer);

    try {
        Executor exec = ExecutorUtil.getExecutor();
        Response apiResponse = exec.execute(get);

        HttpResponse hr = apiResponse.returnResponse();

        /**
         * Check the status codes
         */
        int code = hr.getStatusLine().getStatusCode();

        // Session is no longer valid or access token is expired
        if (code == HttpStatus.SC_FORBIDDEN) {
            response.sendRedirect("./api/logout");
        }

        // User is not authorized
        else if (code == HttpStatus.SC_UNAUTHORIZED) {
            response.setStatus(HttpStatus.SC_UNAUTHORIZED);
        }

        // Content is returned
        else if (code == HttpStatus.SC_OK) {
            ServletOutputStream out = response.getOutputStream();
            InputStream in = hr.getEntity().getContent();
            IOUtils.copy(in, out);
            IOUtils.closeQuietly(in);
            IOUtils.closeQuietly(out);
        }

        // Unexpected status
        else {
            JSONObject obj = new JSONObject();
            obj.put("error", "unexpected content");

        }

    } catch (IOException e) {
        response.setHeader("X-Application-Error", e.getClass().getName());
        response.setStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR);
        logger.severe("IOException " + e.toString());

    } catch (JSONException e) {
        response.setHeader("X-Application-Error", e.getClass().getName());
        response.setStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR);
        logger.severe("JSONException " + e.toString());

    }

}

From source file:com.ibm.watson.ta.retail.DemoServlet.java

/**
 * Create and POST a request to the Watson service
 *
 * @param req/*from  w ww.  j  a  v a  2 s.co m*/
 *            the Http Servlet request
 * @param resp
 *            the Http Servlet response
 * @throws ServletException
 *             the servlet exception
 * @throws IOException
 *             Signals that an I/O exception has occurred.
 */
@Override
protected void doPost(final HttpServletRequest req, final HttpServletResponse resp)
        throws ServletException, IOException {

    req.setCharacterEncoding("UTF-8");
    try {
        String queryStr = req.getQueryString();
        String url = baseURL + "/v1/dilemmas";
        if (queryStr != null) {
            url += "?" + queryStr;
        }
        URI uri = new URI(url).normalize();
        logger.info("posting to " + url);

        Request newReq = Request.Post(uri);
        newReq.addHeader("Accept", "application/json");
        InputStreamEntity entity = new InputStreamEntity(req.getInputStream());
        newReq.bodyString(EntityUtils.toString(entity, "UTF-8"), ContentType.APPLICATION_JSON);

        Executor executor = this.buildExecutor(uri);
        Response response = executor.execute(newReq);
        HttpResponse httpResponse = response.returnResponse();
        resp.setStatus(httpResponse.getStatusLine().getStatusCode());

        ServletOutputStream servletOutputStream = resp.getOutputStream();
        httpResponse.getEntity().writeTo(servletOutputStream);
        servletOutputStream.flush();
        servletOutputStream.close();

        logger.info("post done");
    } catch (Exception e) {
        // Log something and return an error message
        logger.log(Level.SEVERE, "got error: " + e.getMessage(), e);
        resp.setStatus(HttpStatus.SC_BAD_GATEWAY);
    }
}

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

private HttpResponse doPerformRequest(int port, HttpVersion httpVersion, boolean keepAlive)
        throws IOException, ClientProtocolException {
    String url = String.format("http://localhost:%s/", port);
    Request request = Request.Get(url).version(httpVersion).connectTimeout(GET_TIMEOUT);
    if (keepAlive) {
        request = request.addHeader(CONNECTION, KEEP_ALIVE);
    }//from w  ww  .  j  ava 2 s.  c  om
    HttpResponse response = request.execute().returnResponse();
    assertThat(response.getStatusLine().getStatusCode(), is(HTTP_OK));
    return response;
}

From source file:photosharing.api.conx.PhotoDefinition.java

/**
 * retrieves a profile photo based on the person's key
 * //  w ww.ja  v a  2s .co m
 * @see photosharing.api.base.APIDefinition#run(javax.servlet.http.HttpServletRequest,
 *      javax.servlet.http.HttpServletResponse)
 */
@Override
public void run(HttpServletRequest request, HttpServletResponse response) {

    /**
     * check if query is empty, send SC_PRECONDITION_FAILED - 412
     */
    String query = request.getParameter("key");
    if (query == null || query.isEmpty()) {
        response.setStatus(HttpStatus.SC_PRECONDITION_FAILED);
    } else {

        /**
         * get the users bearer token
         */
        HttpSession session = request.getSession(false);

        Object oData = session.getAttribute(OAuth20Handler.CREDENTIALS);
        if (oData == null) {
            logger.warning("OAuth20Data is null");
        }

        OAuth20Data data = (OAuth20Data) oData;
        String bearer = data.getAccessToken();

        try {

            /**
             * Example URL:
             * http://localhost:9080/photoSharing/api/photo?uid=key maps to
             * https://apps.collabservnext.com/profiles/photo.do
             * 
             * and results in an image
             */
            String apiUrl = getApiUrl(query);

            logger.info("api url is " + apiUrl);

            Request get = Request.Get(apiUrl);
            get.addHeader("Authorization", "Bearer " + bearer);

            Executor exec = ExecutorUtil.getExecutor();
            Response apiResponse = exec.execute(get);

            HttpResponse hr = apiResponse.returnResponse();

            /**
             * Check the status codes
             */
            int code = hr.getStatusLine().getStatusCode();

            // Session is no longer valid or access token is expired - 403
            if (code == HttpStatus.SC_FORBIDDEN) {
                response.sendRedirect("./api/logout");
            }

            // User is not authorized
            // SC_UNAUTHORIZED (401)
            else if (code == HttpStatus.SC_UNAUTHORIZED) {
                response.setStatus(HttpStatus.SC_UNAUTHORIZED);
            }

            // Content is returned
            // OK (200)
            else if (code == HttpStatus.SC_OK) {

                //Headers
                response.setContentType(hr.getFirstHeader("Content-Type").getValue());
                response.setHeader("content-length", hr.getFirstHeader("content-length").getValue());

                // Streams
                InputStream in = hr.getEntity().getContent();
                IOUtils.copy(in, response.getOutputStream());
                IOUtils.closeQuietly(in);
                IOUtils.closeQuietly(response.getOutputStream());

            } else {
                // Unexpected Result
                response.setStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR);
            }

        } catch (IOException e) {
            response.setHeader("X-Application-Error", e.getClass().getName());
            response.setStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR);
            logger.severe("Photo Definition - IOException " + e.toString());
        }
    }

}

From source file:com.google.gerrit.acceptance.rest.change.CorsIT.java

@Test
public void preflightBadMethod() throws Exception {
    Result change = createChange();

    for (String method : new String[] { "POST", "PUT", "DELETE", "PATCH" }) {
        Request req = Request
                .Options(adminRestSession.url() + "/a/changes/" + change.getChangeId() + "/detail");
        req.addHeader(ORIGIN, "http://example.com");
        req.addHeader(ACCESS_CONTROL_REQUEST_METHOD, method);
        adminRestSession.execute(req).assertBadRequest();
    }/*ww  w .  j  a  v a 2s .c o  m*/
}