Example usage for org.apache.http.impl.client EntityEnclosingRequestWrapper setEntity

List of usage examples for org.apache.http.impl.client EntityEnclosingRequestWrapper setEntity

Introduction

In this page you can find the example usage for org.apache.http.impl.client EntityEnclosingRequestWrapper setEntity.

Prototype

public void setEntity(final HttpEntity entity) 

Source Link

Usage

From source file:com.microsoft.services.orc.http.impl.AndroidNetworkRunnable.java

@Override
public void run() {
    AndroidHttpClient client = null;//from w ww .  ja v  a 2 s .c o m
    try {

        String userAgent = mRequest.getHeaders().get(Constants.USER_AGENT_HEADER);

        if (userAgent == null) {
            userAgent = "";
        }

        client = AndroidHttpClient.newInstance(userAgent);

        BasicHttpEntityEnclosingRequest realRequest = new BasicHttpEntityEnclosingRequest(
                mRequest.getVerb().toString(), mRequest.getUrl().toString());
        EntityEnclosingRequestWrapper wrapper = new EntityEnclosingRequestWrapper(realRequest);

        Map<String, String> headers = mRequest.getHeaders();
        for (String key : headers.keySet()) {
            wrapper.addHeader(key, headers.get(key));
        }

        if (mRequest.getContent() != null) {
            ByteArrayEntity entity = new ByteArrayEntity(mRequest.getContent());
            wrapper.setEntity(entity);
        } else if (mRequest.getStreamedContent() != null) {
            InputStream stream = mRequest.getStreamedContent();
            InputStreamEntity entity = new InputStreamEntity(stream, mRequest.getStreamedContentSize());
            wrapper.setEntity(entity);
        }

        HttpResponse realResponse = client.execute(wrapper);
        int status = realResponse.getStatusLine().getStatusCode();

        Map<String, List<String>> responseHeaders = new HashMap<String, List<String>>();
        for (Header header : realResponse.getAllHeaders()) {
            List<String> headerValues = new ArrayList<String>();
            for (HeaderElement element : header.getElements()) {
                headerValues.add(element.getValue());
            }
            responseHeaders.put(header.getName(), headerValues);
        }

        HttpEntity entity = realResponse.getEntity();
        InputStream stream = null;

        if (entity != null) {
            stream = entity.getContent();
        }

        if (stream != null) {
            final AndroidHttpClient finalClient = client;
            Closeable closeable = new Closeable() {
                @Override
                public void close() throws IOException {
                    finalClient.close();
                }
            };

            Response response = new ResponseImpl(stream, status, responseHeaders, closeable);

            mFuture.set(response);
        } else {
            client.close();
            mFuture.set(new EmptyResponse(status, responseHeaders));
        }

    } catch (Throwable t) {
        if (client != null) {
            client.close();
        }

        mFuture.setException(t);
    }
}

From source file:com.netscape.certsrv.client.PKIConnection.java

public void storeRequest(File file, HttpRequest request) throws IOException {

    try (PrintStream out = new PrintStream(file)) {

        out.println(request.getRequestLine());

        for (Header header : request.getAllHeaders()) {
            out.println(header.getName() + ": " + header.getValue());
        }/*from  w  w w .  j a v a 2  s  .  co m*/

        out.println();

        if (request instanceof EntityEnclosingRequestWrapper) {
            EntityEnclosingRequestWrapper wrapper = (EntityEnclosingRequestWrapper) request;

            HttpEntity entity = wrapper.getEntity();
            if (entity == null)
                return;

            if (!entity.isRepeatable()) {
                BufferedHttpEntity bufferedEntity = new BufferedHttpEntity(entity);
                wrapper.setEntity(bufferedEntity);
                entity = bufferedEntity;
            }

            storeEntity(out, entity);
        }
    }
}