当前位置: 首页>>代码示例>>Java>>正文


Java HttpResponse.getEntity方法代码示例

本文整理汇总了Java中ch.boye.httpclientandroidlib.HttpResponse.getEntity方法的典型用法代码示例。如果您正苦于以下问题:Java HttpResponse.getEntity方法的具体用法?Java HttpResponse.getEntity怎么用?Java HttpResponse.getEntity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ch.boye.httpclientandroidlib.HttpResponse的用法示例。


在下文中一共展示了HttpResponse.getEntity方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: process

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
/**
 * Handles the following {@code Content-Encoding}s by
 * using the appropriate decompressor to wrap the response Entity:
 * <ul>
 * <li>gzip - see {@link GzipDecompressingEntity}</li>
 * <li>deflate - see {@link DeflateDecompressingEntity}</li>
 * <li>identity - no action needed</li>
 * </ul>
 *
 * @param response the response which contains the entity
 * @param  context not currently used
 *
 * @throws HttpException if the {@code Content-Encoding} is none of the above
 */
public void process(
        final HttpResponse response,
        final HttpContext context) throws HttpException, IOException {
    final HttpEntity entity = response.getEntity();

    // entity can be null in case of 304 Not Modified, 204 No Content or similar
    // check for zero length entity.
    if (entity != null && entity.getContentLength() != 0) {
        final Header ceheader = entity.getContentEncoding();
        if (ceheader != null) {
            final HeaderElement[] codecs = ceheader.getElements();
            boolean uncompressed = false;
            for (final HeaderElement codec : codecs) {
                final String codecname = codec.getName().toLowerCase(Locale.ENGLISH);
                if ("gzip".equals(codecname) || "x-gzip".equals(codecname)) {
                    response.setEntity(new GzipDecompressingEntity(response.getEntity()));
                    uncompressed = true;
                    break;
                } else if ("deflate".equals(codecname)) {
                    response.setEntity(new DeflateDecompressingEntity(response.getEntity()));
                    uncompressed = true;
                    break;
                } else if ("identity".equals(codecname)) {

                    /* Don't need to transform the content - no-op */
                    return;
                } else {
                    throw new HttpException("Unsupported Content-Coding: " + codec.getName());
                }
            }
            if (uncompressed) {
                response.removeHeaders("Content-Length");
                response.removeHeaders("Content-Encoding");
                response.removeHeaders("Content-MD5");
            }
        }
    }
}
 
开发者ID:mozilla-mobile,项目名称:FirefoxData-android,代码行数:53,代码来源:ResponseContentEncoding.java

示例2: sendResponseEntity

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
public void sendResponseEntity(final HttpResponse response)
        throws HttpException, IOException {
    if (response.getEntity() == null) {
        return;
    }
    this.entityserializer.serialize(
            this.outbuffer,
            response,
            response.getEntity());
}
 
开发者ID:mozilla-mobile,项目名称:FirefoxData-android,代码行数:11,代码来源:AbstractHttpServerConnection.java

示例3: execute

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
public <T> T execute(final HttpHost target, final HttpRequest request,
        final ResponseHandler<? extends T> responseHandler, final HttpContext context)
        throws IOException, ClientProtocolException {
    final HttpResponse response = execute(target, request, context);
    try {
        return responseHandler.handleResponse(response);
    } finally {
        final HttpEntity entity = response.getEntity();
        if (entity != null) {
            EntityUtils.consume(entity);
        }
    }
}
 
开发者ID:mozilla-mobile,项目名称:FirefoxData-android,代码行数:14,代码来源:DecompressingHttpClient.java

示例4: handleResponse

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
/**
 * Returns the response body as a String if the response was successful (a
 * 2xx status code). If no response body exists, this returns null. If the
 * response was unsuccessful (>= 300 status code), throws an
 * {@link HttpResponseException}.
 */
public String handleResponse(final HttpResponse response)
        throws HttpResponseException, IOException {
    final StatusLine statusLine = response.getStatusLine();
    final HttpEntity entity = response.getEntity();
    if (statusLine.getStatusCode() >= 300) {
        EntityUtils.consume(entity);
        throw new HttpResponseException(statusLine.getStatusCode(),
                statusLine.getReasonPhrase());
    }
    return entity == null ? null : EntityUtils.toString(entity);
}
 
开发者ID:mozilla-mobile,项目名称:FirefoxData-android,代码行数:18,代码来源:BasicResponseHandler.java

示例5: sendResponseEntity

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
public void sendResponseEntity(final HttpResponse response)
        throws HttpException, IOException {
    Args.notNull(response, "HTTP response");
    ensureOpen();
    final HttpEntity entity = response.getEntity();
    if (entity == null) {
        return;
    }
    final OutputStream outstream = prepareOutput(response);
    entity.writeTo(outstream);
    outstream.close();
}
 
开发者ID:mozilla-mobile,项目名称:FirefoxData-android,代码行数:13,代码来源:DefaultBHttpServerConnection.java

示例6: handleResponse

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
public Multistatus handleResponse(HttpResponse response) throws SardineException, IOException
	{
		super.validateResponse(response);

		// Process the response from the server.
		HttpEntity entity = response.getEntity();
		StatusLine statusLine = response.getStatusLine();
		if (entity == null)
		{
			throw new SardineException("No entity found in response", statusLine.getStatusCode(),
					statusLine.getReasonPhrase());
		}
		
//		boolean debug=false;
//		//starn: for debug purpose, display the stream on the console
//		if (debug){
//			String result = convertStreamToString(entity.getContent());
//			System.out.println(result);
//			InputStream in = new ByteArrayInputStream(result.getBytes()); 
//			return this.getMultistatus(in);
//		}
//		else {
//			return this.getMultistatus(entity.getContent());
//		}
		Multistatus m = new Multistatus();
		new XmlMapper(entity.getContent(),m);
		return m;
	}
 
开发者ID:starn,项目名称:encdroidMC,代码行数:29,代码来源:MultiStatusResponseHandler.java

示例7: handleResponse

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
public String handleResponse(HttpResponse response) throws IOException
{
	super.validateResponse(response);

	// Process the response from the server.
	HttpEntity entity = response.getEntity();
	if (entity == null)
	{
		StatusLine statusLine = response.getStatusLine();
		throw new SardineException("No entity found in response", statusLine.getStatusCode(),
				statusLine.getReasonPhrase());
	}
	return this.getToken(entity.getContent());
}
 
开发者ID:starn,项目名称:encdroidMC,代码行数:15,代码来源:LockResponseHandler.java

示例8: ConsumingInputStream

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
/**
 * @param response The HTTP response to read from
 * @throws IOException		  If there is a problem reading from the response
 * @throws NullPointerException If the response has no message entity
 */
public ConsumingInputStream(final HttpResponse response) throws IOException
{
	this.response = response;
	HttpEntity entity = response.getEntity();
	this.delegate = entity.getContent();
}
 
开发者ID:starn,项目名称:encdroidMC,代码行数:12,代码来源:ConsumingInputStream.java

示例9: process

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
/**
 * Processes the response (possibly updating or inserting) Content-Length and Transfer-Encoding headers.
 * @param response The HttpResponse to modify.
 * @param context Unused.
 * @throws ProtocolException If either the Content-Length or Transfer-Encoding headers are found.
 * @throws IllegalArgumentException If the response is null.
 */
public void process(final HttpResponse response, final HttpContext context)
        throws HttpException, IOException {
    Args.notNull(response, "HTTP response");
    if (this.overwrite) {
        response.removeHeaders(HTTP.TRANSFER_ENCODING);
        response.removeHeaders(HTTP.CONTENT_LEN);
    } else {
        if (response.containsHeader(HTTP.TRANSFER_ENCODING)) {
            throw new ProtocolException("Transfer-encoding header already present");
        }
        if (response.containsHeader(HTTP.CONTENT_LEN)) {
            throw new ProtocolException("Content-Length header already present");
        }
    }
    final ProtocolVersion ver = response.getStatusLine().getProtocolVersion();
    final HttpEntity entity = response.getEntity();
    if (entity != null) {
        final long len = entity.getContentLength();
        if (entity.isChunked() && !ver.lessEquals(HttpVersion.HTTP_1_0)) {
            response.addHeader(HTTP.TRANSFER_ENCODING, HTTP.CHUNK_CODING);
        } else if (len >= 0) {
            response.addHeader(HTTP.CONTENT_LEN, Long.toString(entity.getContentLength()));
        }
        // Specify a content type if known
        if (entity.getContentType() != null && !response.containsHeader(
                HTTP.CONTENT_TYPE )) {
            response.addHeader(entity.getContentType());
        }
        // Specify a content encoding if known
        if (entity.getContentEncoding() != null && !response.containsHeader(
                HTTP.CONTENT_ENCODING)) {
            response.addHeader(entity.getContentEncoding());
        }
    } else {
        final int status = response.getStatusLine().getStatusCode();
        if (status != HttpStatus.SC_NO_CONTENT
                && status != HttpStatus.SC_NOT_MODIFIED
                && status != HttpStatus.SC_RESET_CONTENT) {
            response.addHeader(HTTP.CONTENT_LEN, "0");
        }
    }
}
 
开发者ID:mozilla-mobile,项目名称:FirefoxData-android,代码行数:50,代码来源:ResponseContent.java

示例10: process

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
public void process(final HttpResponse response, final HttpContext context)
        throws HttpException, IOException {
    Args.notNull(response, "HTTP response");

    final HttpCoreContext corecontext = HttpCoreContext.adapt(context);

    // Always drop connection after certain type of responses
    final int status = response.getStatusLine().getStatusCode();
    if (status == HttpStatus.SC_BAD_REQUEST ||
            status == HttpStatus.SC_REQUEST_TIMEOUT ||
            status == HttpStatus.SC_LENGTH_REQUIRED ||
            status == HttpStatus.SC_REQUEST_TOO_LONG ||
            status == HttpStatus.SC_REQUEST_URI_TOO_LONG ||
            status == HttpStatus.SC_SERVICE_UNAVAILABLE ||
            status == HttpStatus.SC_NOT_IMPLEMENTED) {
        response.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);
        return;
    }
    final Header explicit = response.getFirstHeader(HTTP.CONN_DIRECTIVE);
    if (explicit != null && HTTP.CONN_CLOSE.equalsIgnoreCase(explicit.getValue())) {
        // Connection persistence explicitly disabled
        return;
    }
    // Always drop connection for HTTP/1.0 responses and below
    // if the content body cannot be correctly delimited
    final HttpEntity entity = response.getEntity();
    if (entity != null) {
        final ProtocolVersion ver = response.getStatusLine().getProtocolVersion();
        if (entity.getContentLength() < 0 &&
                (!entity.isChunked() || ver.lessEquals(HttpVersion.HTTP_1_0))) {
            response.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);
            return;
        }
    }
    // Drop connection if requested by the client or request was <= 1.0
    final HttpRequest request = corecontext.getRequest();
    if (request != null) {
        final Header header = request.getFirstHeader(HTTP.CONN_DIRECTIVE);
        if (header != null) {
            response.setHeader(HTTP.CONN_DIRECTIVE, header.getValue());
        } else if (request.getProtocolVersion().lessEquals(HttpVersion.HTTP_1_0)) {
            response.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);
        }
    }
}
 
开发者ID:mozilla-mobile,项目名称:FirefoxData-android,代码行数:46,代码来源:ResponseConnControl.java

示例11: enchance

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
public static void enchance(final HttpResponse response, final ConnectionHolder connHolder) {
    final HttpEntity entity = response.getEntity();
    if (entity != null && entity.isStreaming() && connHolder != null) {
        response.setEntity(new ResponseEntityProxy(entity, connHolder));
    }
}
 
开发者ID:mozilla-mobile,项目名称:FirefoxData-android,代码行数:7,代码来源:ResponseEntityProxy.java

示例12: consumeBody

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
private void consumeBody(final HttpResponse response) throws IOException {
    final HttpEntity body = response.getEntity();
    if (body != null) {
        IOUtils.consume(body);
    }
}
 
开发者ID:mozilla-mobile,项目名称:FirefoxData-android,代码行数:7,代码来源:ResponseProtocolCompliance.java

示例13: closeQuietly

import ch.boye.httpclientandroidlib.HttpResponse; //导入方法依赖的package包/类
/**
 * Unconditionally close a response.
 * <p>
 * Example Code:
 *
 * <pre>
 * HttpResponse httpResponse = null;
 * try {
 *     httpResponse = httpClient.execute(httpGet);
 * } catch (Exception e) {
 *     // error handling
 * } finally {
 *     HttpClientUtils.closeQuietly(httpResponse);
 * }
 * </pre>
 *
 * @param response
 *            the HttpResponse to release resources, may be null or already
 *            closed.
 *
 * @since 4.2
 */
public static void closeQuietly(final HttpResponse response) {
    if (response != null) {
        final HttpEntity entity = response.getEntity();
        if (entity != null) {
            try {
                EntityUtils.consume(entity);
            } catch (final IOException ex) {
            }
        }
    }
}
 
开发者ID:mozilla-mobile,项目名称:FirefoxData-android,代码行数:34,代码来源:HttpClientUtils.java


注:本文中的ch.boye.httpclientandroidlib.HttpResponse.getEntity方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。