本文整理汇总了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");
}
}
}
}
示例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());
}
示例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);
}
}
}
示例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);
}
示例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();
}
示例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;
}
示例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());
}
示例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();
}
示例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");
}
}
}
示例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);
}
}
}
示例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));
}
}
示例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);
}
}
示例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) {
}
}
}
}