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("^\"([^\"]*)\" upload a content without content type$")
public void userUploadContentWithoutContentType(String username) throws Throwable {
    AccessToken accessToken = userStepdefs.tokenByUser.get(username);
    Request request = Request.Post(uploadUri).bodyByteArray("some text".getBytes(Charsets.UTF_8));
    if (accessToken != null) {
        request.addHeader("Authorization", accessToken.serialize());
    }// w w  w. ja va  2  s  . com
    response = request.execute().returnResponse();
}

From source file:nebula.plugin.metrics.dispatcher.RestMetricsDispatcher.java

protected void addHeaders(Request req) {
    checkNotNull(req);//ww w .j  a  va2s  .co  m

    for (Map.Entry<String, String> entry : extension.getHeaders().entrySet()) {
        req.addHeader(entry.getKey(), entry.getValue());
    }
}

From source file:org.opendatakit.briefcase.reused.http.CommonsHttp.java

private Response<String> uncheckedExecute(Request<?> request, Executor executor) {
    org.apache.http.client.fluent.Request commonsRequest = getCommonsRequest(request);
    commonsRequest.connectTimeout(10_000);
    commonsRequest.socketTimeout(10_000);
    commonsRequest.addHeader("X-OpenRosa-Version", "1.0");
    request.headers.forEach(pair -> commonsRequest.addHeader(pair.getLeft(), pair.getRight()));
    try {/*from  w  w w . ja  v a  2 s  .  c o m*/
        return executor.execute(commonsRequest).handleResponse(res -> {
            if (res.getStatusLine().getStatusCode() >= 500)
                return new Response.ServerError<>(res.getStatusLine().getStatusCode(),
                        res.getStatusLine().getReasonPhrase());
            if (res.getStatusLine().getStatusCode() >= 400)
                return new Response.ClientError<>(res.getStatusLine().getStatusCode(),
                        res.getStatusLine().getReasonPhrase());
            if (res.getStatusLine().getStatusCode() >= 300)
                return new Response.Redirection<>(res.getStatusLine().getStatusCode(),
                        res.getStatusLine().getReasonPhrase());
            return new Response.Success<>(res.getStatusLine().getStatusCode(), readBody(res));
        });
    } catch (HttpHostConnectException e) {
        throw new HttpException("Connection refused");
    } catch (SocketTimeoutException | ConnectTimeoutException e) {
        throw new HttpException("The connection has timed out");
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }
}

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

/**
 * Create and POST a request to the Watson service
 *
 * @param req/*from  w w  w.  j  av  a 2s.c om*/
 *            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 reqURI = req.getRequestURI();
        String endpoint = reqURI.substring(reqURI.lastIndexOf('/') + 1);
        String url = baseURL + "/v1/" + endpoint;
        // concatenate query params
        String queryStr = req.getQueryString();
        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");

        String metadata = req.getHeader("x-watson-metadata");
        if (metadata != null) {
            metadata += "client-ip:" + req.getRemoteAddr();
            newReq.addHeader("x-watson-metadata", metadata);
        }

        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:photosharing.api.conx.SearchPeopleDefinition.java

/**
 * searches for people//from w  ww .ja va 2 s . 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("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 API Url
     * http://localhost:9080/photoSharing/api/searchPeople?q=sub
     * maps to 
     * https://apps.collabservnext.com/search/oauth/people/typeahead?query=sub
     * 
     * Response Data
     * {
       *   "totalResults": 1,
       *   "startIndex": 1,
       *   "numResultsInCurrentPage": 1,
       *   "persons": [
      *      {
        *      "id": "20000397",
        *      "name": "John Doe2",
        *      "userType": "EMPLOYEE",
        *      "jobResponsibility": "Stooge",
        *      "confidence": "medium",
        *      "score": 10997.0
      *      }
       *   ]
     *   }
     * 
     */
    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();

        logger.info("Code is " + code + " " + getApiUrl(query));

        // 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) {
            response.setStatus(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");
            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("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:org.apache.james.jmap.methods.integration.cucumber.UploadStepdefs.java

@Then("^\"([^\"]*)\" should be able to retrieve the content$")
public void contentShouldBeRetrievable(String username) throws Exception {
    AccessToken accessToken = userStepdefs.tokenByUser.get(username);
    Request request = Request
            .Get(mainStepdefs.baseUri().setPath("/download/" + _1M_ZEROED_FILE_BLOB_ID).build());
    if (accessToken != null) {
        request.addHeader("Authorization", accessToken.serialize());
    }/* w w w .  j ava2  s  .  co  m*/
    response = request.execute().returnResponse();
    httpAuthorizedStatus();
}

From source file:net.bluemix.newsaggregator.api.AuthenticationServlet.java

private User getProfileWithAccessToken(String accessToken) {
    User result = null;/*from  w  w  w  .  jav  a  2s.c  o m*/
    String output = null;

    try {
        configureSSL();

        org.apache.http.client.fluent.Request req = Request
                .Get("https://idaas.ng.bluemix.net/idaas/resources/profile.jsp");

        req.addHeader("Authorization", "bearer " + accessToken);

        org.apache.http.client.fluent.Response res = req.execute();

        output = res.returnContent().asString();

        Gson gson = new Gson();
        result = gson.fromJson(output, User.class);

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

    return result;
}

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

@When("^\"([^\"]*)\" upload a content$")
public void userUploadContent(String username) throws Throwable {
    AccessToken accessToken = userStepdefs.tokenByUser.get(username);
    Request request = Request.Post(uploadUri).bodyStream(
            new BufferedInputStream(new ZeroedInputStream(_1M), _1M),
            org.apache.http.entity.ContentType.DEFAULT_BINARY);
    if (accessToken != null) {
        request.addHeader("Authorization", accessToken.serialize());
    }/*  www  .  j a va2 s. c  o m*/
    response = Executor.newInstance(HttpClientBuilder.create().disableAutomaticRetries().build())
            .execute(request).returnResponse();
}

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

@When("^\"([^\"]*)\" upload a too big content$")
public void userUploadTooBigContent(String username) throws Throwable {
    AccessToken accessToken = userStepdefs.tokenByUser.get(username);
    Request request = Request.Post(uploadUri).bodyStream(
            new BufferedInputStream(new ZeroedInputStream(_10M), _10M),
            org.apache.http.entity.ContentType.DEFAULT_BINARY);
    if (accessToken != null) {
        request.addHeader("Authorization", accessToken.serialize());
    }/*from  ww w.ja v  a 2  s. com*/
    response = request.execute().returnResponse();
}