Example usage for org.apache.http.client.methods HttpUriRequest addHeader

List of usage examples for org.apache.http.client.methods HttpUriRequest addHeader

Introduction

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

Prototype

void addHeader(Header header);

Source Link

Usage

From source file:org.flowable.rest.dmn.service.api.BaseSpringDmnRestTestCase.java

protected CloseableHttpResponse internalExecuteRequest(HttpUriRequest request, int expectedStatusCode,
        boolean addJsonContentType) {
    CloseableHttpResponse response = null;
    try {// www  .j  av a  2  s . co  m
        if (addJsonContentType && request.getFirstHeader(HttpHeaders.CONTENT_TYPE) == null) {
            // Revert to default content-type
            request.addHeader(new BasicHeader(HttpHeaders.CONTENT_TYPE, "application/json"));
        }
        response = client.execute(request);
        Assert.assertNotNull(response.getStatusLine());

        int responseStatusCode = response.getStatusLine().getStatusCode();
        if (expectedStatusCode != responseStatusCode) {
            log.info("Wrong status code : {}, but should be {}", responseStatusCode, expectedStatusCode);
            log.info("Response body: {}", IOUtils.toString(response.getEntity().getContent()));
        }

        Assert.assertEquals(expectedStatusCode, responseStatusCode);
        httpResponses.add(response);
        return response;

    } catch (ClientProtocolException e) {
        Assert.fail(e.getMessage());
    } catch (IOException e) {
        Assert.fail(e.getMessage());
    }
    return null;
}

From source file:org.apache.hadoop.gateway.dispatch.HttpClientDispatch.java

protected HttpResponse executeKerberosDispatch(HttpUriRequest outboundRequest, DefaultHttpClient client)
        throws IOException, ClientProtocolException {
    HttpResponse inboundResponse;/*from ww  w  .  j av  a2s  . c o  m*/
    outboundRequest.removeHeaders(COOKIE);
    String appCookie = appCookieManager.getCachedAppCookie();
    if (appCookie != null) {
        outboundRequest.addHeader(new BasicHeader(COOKIE, appCookie));
    }
    inboundResponse = client.execute(outboundRequest);
    // if inBoundResponse has status 401 and header WWW-Authenticate: Negoitate
    // refresh hadoop.auth.cookie and attempt one more time
    int statusCode = inboundResponse.getStatusLine().getStatusCode();
    if (statusCode == HttpStatus.SC_UNAUTHORIZED) {
        Header[] wwwAuthHeaders = inboundResponse.getHeaders(WWW_AUTHENTICATE);
        if (wwwAuthHeaders != null && wwwAuthHeaders.length != 0
                && wwwAuthHeaders[0].getValue().trim().startsWith(NEGOTIATE)) {
            appCookie = appCookieManager.getAppCookie(outboundRequest, true);
            outboundRequest.removeHeaders(COOKIE);
            outboundRequest.addHeader(new BasicHeader(COOKIE, appCookie));
            client = new DefaultHttpClient();
            inboundResponse = client.execute(outboundRequest);
        } else {
            // no supported authentication type found
            // we would let the original response propagate
        }
    } else {
        // not a 401 Unauthorized status code
        // we would let the original response propagate
    }
    return inboundResponse;
}

From source file:org.mobicents.xcap.client.impl.XcapClientImpl.java

private XcapResponse execute(HttpUriRequest request, Header[] additionalRequestHeaders, Credentials credentials)
        throws IOException {

    if (additionalRequestHeaders != null) {
        for (Header header : additionalRequestHeaders) {
            request.addHeader(((HeaderImpl) header).getWrappedHeader());
        }/*from  www .j ava 2s. c  om*/
    }

    HttpContext httpContext = NULL_HTTP_CONTEXT;
    if (credentials != null) {
        httpContext = new BasicHttpContext();
        httpContext.setAttribute(ClientContext.CREDS_PROVIDER,
                new SingleCredentialsProvider(((CredentialsImpl) credentials).getWrappedCredentials()));
    }

    final XcapResponseImpl response = client.execute(request, responseHandler, httpContext);

    if (log.isDebugEnabled()) {
        log.debug("Received:\n--BEGIN--\n" + response.toString() + "\n--END--");
    }

    return response;
}

From source file:org.activiti.rest.content.service.api.BaseSpringContentRestTestCase.java

protected CloseableHttpResponse internalExecuteRequest(HttpUriRequest request, int expectedStatusCode,
        boolean addJsonContentType) {
    CloseableHttpResponse response = null;
    try {//from   w  ww  . j  ava  2 s. c o m
        if (addJsonContentType && request.getFirstHeader(HttpHeaders.CONTENT_TYPE) == null) {
            // Revert to default content-type
            request.addHeader(new BasicHeader(HttpHeaders.CONTENT_TYPE, "application/json"));
        }
        response = client.execute(request);
        Assert.assertNotNull(response.getStatusLine());

        int responseStatusCode = response.getStatusLine().getStatusCode();
        if (expectedStatusCode != responseStatusCode) {
            log.info("Wrong status code : " + responseStatusCode + ", but should be " + expectedStatusCode);
            log.info("Response body: " + IOUtils.toString(response.getEntity().getContent()));
        }

        Assert.assertEquals(expectedStatusCode, responseStatusCode);
        httpResponses.add(response);
        return response;

    } catch (ClientProtocolException e) {
        Assert.fail(e.getMessage());
    } catch (IOException e) {
        Assert.fail(e.getMessage());
    }
    return null;
}

From source file:nl.opengeogroep.filesetsync.client.FilesetSyncer.java

private void addExtraHeaders(HttpUriRequest r) {
    for (Header h : state.getRequestHeaders()) {
        r.addHeader(h);
    }
}

From source file:org.openestate.is24.restapi.hc42.HttpComponents42Client.java

@Override
protected Response sendXmlAttachmentRequest(URL url, RequestMethod method, String xml, InputStream input,
        String fileName, String mimeType) throws IOException, OAuthException {
    if (method == null)
        method = RequestMethod.POST;/*from   w ww. j  a va2s .c om*/
    if (!RequestMethod.POST.equals(method) && !RequestMethod.PUT.equals(method))
        throw new IllegalArgumentException("Invalid request method!");
    xml = (RequestMethod.POST.equals(method) || RequestMethod.PUT.equals(method)) ? StringUtils.trimToNull(xml)
            : null;

    HttpUriRequest request = null;
    if (RequestMethod.POST.equals(method)) {
        request = new HttpPost(url.toString());
    } else if (RequestMethod.PUT.equals(method)) {
        request = new HttpPut(url.toString());
    } else {
        throw new IOException("Unsupported request method '" + method + "'!");
    }

    MultipartEntity requestMultipartEntity = new MultipartEntity();
    request.addHeader(requestMultipartEntity.getContentType());
    request.setHeader("Content-Language", "en-US");
    request.setHeader("Accept", "application/xml");

    // add xml part to the multipart entity
    if (xml != null) {
        //StringBody xmlPart = new StringBody(
        //  xml, "application/xml; name=body.xml", Charset.forName( getEncoding() ) );
        InputStreamBody xmlPart = new InputStreamBody(new ByteArrayInputStream(xml.getBytes(getEncoding())),
                "application/xml", "body.xml");
        requestMultipartEntity.addPart("metadata", xmlPart);
    }

    // add file part to the multipart entity
    if (input != null) {
        mimeType = StringUtils.trimToNull(mimeType);
        if (mimeType == null)
            mimeType = "application/octet-stream";

        fileName = StringUtils.trimToNull(fileName);
        if (fileName == null)
            fileName = "upload.bin";

        InputStreamBody filePart = new InputStreamBody(input, mimeType, fileName);
        requestMultipartEntity.addPart("attachment", filePart);
    }

    // add multipart entity to the request
    ((HttpEntityEnclosingRequest) request).setEntity(requestMultipartEntity);

    // sign request
    getAuthConsumer().sign(request);

    // send request
    HttpResponse response = httpClient.execute(request);

    // create response
    return createResponse(response);
}

From source file:com.soundcloud.playerapi.ApiWrapper.java

/** Adds an OAuth2 header to a given request */
protected HttpUriRequest addAuthHeader(HttpUriRequest request) {
    if (!request.containsHeader(AUTH.WWW_AUTH_RESP)) {
        if (mToken != EMPTY_TOKEN) {
            request.addHeader(createOAuthHeader(mToken));
        }//from   w w  w. j  a va 2s  . c o  m
    }
    return request;
}

From source file:org.openestate.is24.restapi.hc42.HttpComponents42Client.java

@Override
protected Response sendVideoUploadRequest(URL url, RequestMethod method, String auth, InputStream input,
        String fileName, final long fileSize) throws IOException, OAuthException {
    if (method == null)
        method = RequestMethod.POST;//from  w  ww  .ja  v  a2s .c  o m
    if (!RequestMethod.POST.equals(method) && !RequestMethod.PUT.equals(method))
        throw new IllegalArgumentException("Invalid request method!");

    HttpUriRequest request = null;
    if (RequestMethod.POST.equals(method)) {
        request = new HttpPost(url.toString());
    } else if (RequestMethod.PUT.equals(method)) {
        request = new HttpPut(url.toString());
    } else {
        throw new IOException("Unsupported request method '" + method + "'!");
    }

    MultipartEntity requestMultipartEntity = new MultipartEntity();
    request.setHeader("MIME-Version", "1.0");
    request.addHeader(requestMultipartEntity.getContentType());
    request.setHeader("Content-Language", "en-US");
    request.setHeader("Accept-Charset", "UTF-8");
    request.setHeader("Accept-Encoding", "gzip,deflate");
    request.setHeader("Connection", "close");

    // add auth part to the multipart entity
    auth = StringUtils.trimToNull(auth);
    if (auth != null) {
        StringBody authPart = new StringBody(auth, Charset.forName(getEncoding()));
        requestMultipartEntity.addPart("auth", authPart);
    }

    // add file part to the multipart entity
    if (input != null) {
        fileName = StringUtils.trimToNull(fileName);
        if (fileName == null)
            fileName = "upload.bin";
        //InputStreamBody filePart = new InputStreamBody( input, fileName );
        InputStreamBody filePart = new InputStreamBodyWithLength(input, fileName, fileSize);
        requestMultipartEntity.addPart("videofile", filePart);
    }

    // add multipart entity to the request
    ((HttpEntityEnclosingRequest) request).setEntity(requestMultipartEntity);

    // sign request
    //getAuthConsumer().sign( request );

    // send request
    HttpResponse response = httpClient.execute(request);

    // create response
    return createResponse(response);
}

From source file:org.mobicents.slee.enabler.rest.client.RESTClientEnablerChildSbb.java

@Override
public void execute(RESTClientEnablerRequest request) throws Exception {

    // validate request
    if (request == null) {
        throw new NullPointerException("request is null");
    }//from  w w  w .j  av a  2  s. com
    if (request.getType() == null) {
        throw new NullPointerException("request type is null");
    }
    if (request.getUri() == null) {
        throw new NullPointerException("request uri is null");
    }

    // create http request
    HttpUriRequest httpRequest = null;
    switch (request.getType()) {
    case DELETE:
        httpRequest = new HttpDelete(request.getUri());
        break;
    case GET:
        httpRequest = new HttpGet(request.getUri());
        break;
    case POST:
        httpRequest = new HttpPost(request.getUri());
        break;
    case PUT:
        httpRequest = new HttpPut(request.getUri());
        break;
    default:
        throw new IllegalArgumentException("unknown request type");
    }

    // add headers, if any
    if (request.getHeaders() != null) {
        for (Header h : request.getHeaders()) {
            httpRequest.addHeader(h);
        }
    }

    // sign request using oauth, if needed
    if (request.getOAuthConsumer() != null) {
        request.getOAuthConsumer().sign(httpRequest);
    }

    // add content, if any
    if (request.getContent() != null) {
        if (!(httpRequest instanceof HttpEntityEnclosingRequest)) {
            throw new IllegalArgumentException("request includes content but type does not allows content");
        }
        if (request.getContentType() == null) {
            throw new IllegalArgumentException("request includes content but no content type");
        }
        BasicHttpEntity entity = new BasicHttpEntity();
        entity.setContent(request.getContent());
        if (request.getContentEncoding() != null)
            entity.setContentEncoding(request.getContentEncoding());
        entity.setContentType(request.getContentType());
        ((HttpEntityEnclosingRequest) httpRequest).setEntity(entity);
    }

    // get http client activity and attach to related aci
    HttpClientActivity activity = httpProvider.createHttpClientActivity(true, null);
    ActivityContextInterface aci = httpClientActivityContextInterfaceFactory
            .getActivityContextInterface(activity);
    aci.attach(this.sbbContext.getSbbLocalObject());

    // execute request on the activity
    activity.execute(httpRequest, request);
}

From source file:tv.arte.resteventapi.core.clients.RestEventApiRestClient.java

/**
 * Executes the REST request described by the {@link RestEvent}
 * /*from  w w  w . java2 s  .c o m*/
 * @param restEvent The {@link RestEvent} to process
 * @return A result of the execution
 * @throws RestEventApiRuntimeException In case of non managed errors
 */
public static RestClientExecutionResult execute(final RestEvent restEvent) throws RestEventApiRuntimeException {
    RestClientExecutionResult result = new RestClientExecutionResult();
    String url = restEvent.getUrl();
    CloseableHttpClient client = null;
    HttpUriRequest request = null;
    Integer responseCode = null;

    try {
        //Request custom configs
        RequestConfig.Builder requestBuilder = RequestConfig.custom();
        requestBuilder = requestBuilder.setConnectTimeout(restEvent.getTimeout());
        requestBuilder = requestBuilder.setConnectionRequestTimeout(restEvent.getTimeout());

        client = HttpClientBuilder.create().setDefaultRequestConfig(requestBuilder.build()).build();

        //Determine the method to execute
        switch (restEvent.getMethod()) {
        case GET:
            request = new HttpGet(url);
            break;
        case POST:
            request = new HttpPost(url);
            break;
        case PUT:
            request = new HttpPut(url);
            break;
        case DELETE:
            request = new HttpDelete(url);
            break;
        case PATCH:
            request = new HttpPatch(url);
            break;
        case HEAD:
            request = new HttpHead(url);
            break;
        default:
            throw new RestEventApiRuntimeException("RestEventAPI unsupported HTTP method");
        }

        //Set the body for eligible methods
        if (restEvent.getBody() != null && request instanceof HttpEntityEnclosingRequestBase) {
            ((HttpEntityEnclosingRequestBase) request).setEntity(new StringEntity(restEvent.getBody()));
        }

        //Set headers
        if (CollectionUtils.isNotEmpty(restEvent.getHeaders())) {
            for (String strHeader : restEvent.getHeaders()) {
                CharArrayBuffer headerBuffer = new CharArrayBuffer(strHeader.length() + 1);
                headerBuffer.append(strHeader);
                request.addHeader(new BufferedHeader(headerBuffer));
            }
        }

        HttpResponse response = client.execute(request);
        responseCode = response.getStatusLine().getStatusCode();

        result.setState(RestClientCallState.OK);
    } catch (ConnectTimeoutException e) {
        result.setState(RestClientCallState.TIMEOUT);
    } catch (Exception e) {
        throw new RestEventApiRuntimeException("Un error occured while processing rest event", e);
    } finally {
        result.setResponseCode(responseCode);

        try {
            client.close();
        } catch (Exception e2) {
            logger.warn("Unable to close HTTP client", e2);
        }
    }

    return result;
}