ContentResponseHandler to extend AbstractResponseHandler

git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1643670 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Oleg Kalnichevski 2014-12-07 12:38:25 +00:00
parent 35cf0a6a1c
commit 602d9f9fc9
1 changed files with 6 additions and 20 deletions

View File

@ -29,12 +29,8 @@ package org.apache.http.client.fluent;
import java.io.IOException; import java.io.IOException;
import org.apache.http.HttpEntity; import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpResponseException;
import org.apache.http.client.ResponseHandler;
import org.apache.http.entity.ContentType; import org.apache.http.entity.ContentType;
import org.apache.http.impl.client.AbstractResponseHandler;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
/** /**
@ -46,23 +42,13 @@ import org.apache.http.util.EntityUtils;
* *
* @since 4.4 * @since 4.4
*/ */
public class ContentResponseHandler implements ResponseHandler<Content> { public class ContentResponseHandler extends AbstractResponseHandler<Content> {
@Override @Override
public Content handleResponse( public Content handleEntity(final HttpEntity entity) throws IOException {
final HttpResponse response) throws ClientProtocolException, IOException { return entity != null ?
final StatusLine statusLine = response.getStatusLine(); new Content(EntityUtils.toByteArray(entity), ContentType.getOrDefault(entity)) :
final HttpEntity entity = response.getEntity(); Content.NO_CONTENT;
if (statusLine.getStatusCode() >= 300) {
throw new HttpResponseException(statusLine.getStatusCode(),
statusLine.getReasonPhrase());
}
if (entity != null) {
return new Content(
EntityUtils.toByteArray(entity),
ContentType.getOrDefault(entity));
}
return Content.NO_CONTENT;
} }
} }