public class HttpResponse extends Object implements IsFinished
| Modifier and Type | Class and Description |
|---|---|
static class |
HttpResponse.ProgressEvent |
static class |
HttpResponse.RedirectEvent |
static class |
HttpResponse.State
Состояние объекта
|
static class |
HttpResponse.StateChangedEvent |
| Modifier and Type | Field and Description |
|---|---|
protected Boolean |
async |
protected URLConnection |
connection |
protected xyz.cofe.cbuffer.ContentBuffer |
contentBuffer |
protected Charset |
contentCharset |
protected Long |
contentWriterPos |
protected AtomicBoolean |
continueSignal |
protected HttpRequest |
currentRequest |
protected xyz.cofe.collection.Func1<Object,URLConnection> |
data |
protected int |
downloadBufferSize |
protected long |
downloadedSize |
protected Date |
finished |
protected Boolean |
followRedirect |
protected HttpListenersHelper |
httpListenerHelper |
protected static HttpStatusHelper |
httpStatusHelper |
long |
id
Идентификатор объекта в пределах приложения
|
protected Lock |
lock
Блокировка объекта
|
protected Long |
maxDownloadSize |
protected AtomicBoolean |
needPause |
protected List<HttpResponse> |
redirects |
protected List<xyz.cofe.collection.Pair<URL,URL>> |
redirectUrls |
protected xyz.cofe.collection.Func4<Boolean,HttpHeaders,URL,URL,List<xyz.cofe.collection.Pair<URL,URL>>> |
redirectValidate |
protected static AtomicLong |
sequenceID |
protected Date |
started |
protected HttpResponse.State |
state |
protected int |
statusCode |
protected String |
statusMessage |
protected String |
text |
protected Thread |
thread |
protected String |
threadName
Имя паралельного потока
|
| Modifier | Constructor and Description |
|---|---|
|
HttpResponse(HttpRequest request,
Throwable error)
Конструктор с ошибкой открытия соединения
|
|
HttpResponse(HttpRequest request,
URLConnection connection) |
|
HttpResponse(HttpResponse source,
boolean cloneHeaders,
boolean cloneContentBuffer)
Конструктор копирования.
|
protected |
HttpResponse(HttpResponse source,
HttpRequest req,
boolean cloneHeaders,
boolean cloneContentBuffer)
Конструктор копирования.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
acceptDownloaded(byte[] buffer,
int off,
int len)
Принимает байты из сети
|
protected void |
addError(Throwable err) |
Closeable |
addListener(HttpListener listener) |
Closeable |
addListener(HttpListener listener,
boolean weakLink) |
protected void |
addRedirect(HttpResponse response,
URL from,
URL to)
Добавление в список редирект
|
HttpResponse |
clone()
Создание клона
|
HttpResponse |
clone(boolean cloneHeaders,
boolean cloneBuffer)
Создание клона
|
protected HttpResponse |
clone(HttpRequest req,
boolean cloneHeaders,
boolean cloneBuffer)
Создание клона
|
protected void |
fireEvent(HttpEvent event) |
xyz.cofe.cbuffer.ContentBuffer |
getContentBuffer() |
Charset |
getContentCharset() |
long |
getContentWriterPos() |
HttpRequest |
getCurrentRequest()
Возвращает текущий запрос.
|
xyz.cofe.collection.Func1<Object,URLConnection> |
getData() |
int |
getDownloadBufferSize() |
long |
getDownloadedSize()
Возвращает кол-во загруженых байтов
|
List<Throwable> |
getErrors() |
Date |
getFinished() |
HttpHeaders |
getHttpHeaders() |
long |
getId()
Получение идентификатора
|
xyz.cofe.collection.Pair<URL,URL> |
getLastRedirectUrl()
Возвращает последнее перенаправление
|
URL |
getLastRedirectUrlTo()
Возвращает последний адрес куда было перенаправление
|
Set<HttpListener> |
getListeners() |
Lock |
getLock()
Получение блокировки
|
long |
getMaxDownloadSize()
Возвращает максимум загужаемых данных, по умолчанию без ограничения
|
List<HttpResponse> |
getRedirectResponses()
Получение списка ответов редиректа
|
List<xyz.cofe.collection.Pair<URL,URL>> |
getRedirectUrls()
Получение списка редиректов
|
xyz.cofe.collection.Func4<Boolean,HttpHeaders,URL,URL,List<xyz.cofe.collection.Pair<URL,URL>>> |
getRedirectValidate()
Возвращает проверку redirect.
|
HttpRequest |
getRequest() |
Date |
getStarted() |
HttpResponse.State |
getState()
Возвращает текущее состояние объекта
|
int |
getStatusCode()
Код ответа сервера
|
String |
getStatusMessage() |
String |
getText() |
Thread |
getThread() |
String |
getThreadName()
Имя паралельного потока
|
protected boolean |
hasContinueSignal() |
protected boolean |
hasPauseSignal() |
boolean |
isAsync() |
boolean |
isErrorsNotExists()
Проверяет что:
есть ответ сервера
статус ответа сервера в диапазоне 200 - 299
есть заголовки сервера
нет ошибок - свойство errors
|
boolean |
isFinished()
Возвращает прзнак что объект завершил работу и находится в конечном состоянии
|
boolean |
isFollowRedirect()
Переходить по redirect
|
Closeable |
onFinished(xyz.cofe.collection.Func1<Object,HttpResponse> runOnFinsihed)
Вызывать код когда запрос перейдет в состояние finished.
|
void |
pause() |
void |
removeListener(HttpListener listener) |
void |
resume() |
protected void |
setContentWriterPos(long pos) |
protected void |
setCurrentRequest(HttpRequest currentRequest)
Устанавливает текущий запрос
|
void |
setData(xyz.cofe.collection.Func1<Object,URLConnection> data) |
void |
setDownloadBufferSize(int buffSize) |
void |
setFollowRedirect(boolean followRedirect)
Переходить по redirect
|
protected void |
setHttpHeaders(HttpHeaders headers) |
void |
setMaxDownloadSize(long maxSize)
Устанавливает максимум загужаемых данных.
|
void |
setRedirectValidate(xyz.cofe.collection.Func4<Boolean,HttpHeaders,URL,URL,List<xyz.cofe.collection.Pair<URL,URL>>> redirectValidate)
Устанавливает проверку redirect.
|
protected void |
setState(HttpResponse.State newState)
Устанавливает текущее состояние
|
protected void |
setStatusCode(int newStatusCode) |
protected void |
setStatusMessage(String statusMessage) |
void |
setThreadName(String threadName)
Имя паралельного потока
|
void |
start()
Запуск скачивания.
|
protected void |
start(HttpRequest sourceRequest,
URL urlFrom,
URLConnection connection)
Запускает процесс скачивания
|
protected void |
startDownloading(InputStream inputStream) |
void |
stop()
Остановка скаивания данных
|
void |
stop(long waitStopMS,
long forceStopMS,
long sleepTimeMS)
Остановка скаичвания
|
void |
waitForFinished()
Ожидание завершения загрузки.
|
protected static final HttpStatusHelper httpStatusHelper
protected static final AtomicLong sequenceID
public final long id
protected final Lock lock
protected URLConnection connection
protected xyz.cofe.collection.Func1<Object,URLConnection> data
protected final HttpListenersHelper httpListenerHelper
protected long downloadedSize
protected Long maxDownloadSize
protected Date started
protected Date finished
protected HttpResponse.State state
protected int statusCode
protected String statusMessage
protected Thread thread
protected Boolean async
protected int downloadBufferSize
protected xyz.cofe.cbuffer.ContentBuffer contentBuffer
protected Charset contentCharset
protected String text
protected Long contentWriterPos
protected String threadName
protected Boolean followRedirect
protected final List<HttpResponse> redirects
protected xyz.cofe.collection.Func4<Boolean,HttpHeaders,URL,URL,List<xyz.cofe.collection.Pair<URL,URL>>> redirectValidate
protected HttpRequest currentRequest
protected volatile AtomicBoolean needPause
protected volatile AtomicBoolean continueSignal
protected HttpResponse(HttpResponse source, HttpRequest req, boolean cloneHeaders, boolean cloneContentBuffer)
source - исходный объектcloneContentBuffer - клонировать содержимоеcloneHeaders - клонировать заголовкиreq - Переопределить запросpublic HttpResponse(HttpResponse source, boolean cloneHeaders, boolean cloneContentBuffer)
source - исходный объектcloneContentBuffer - клонировать содержимоеcloneHeaders - клонировать заголовкиHttpResponse(xyz.cofe.http.HttpResponse, xyz.cofe.http.HttpRequest, boolean, boolean)public HttpResponse(HttpRequest request, Throwable error)
request - запросerror - описание ошибкиpublic HttpResponse(HttpRequest request, URLConnection connection)
public Lock getLock()
public final long getId()
public HttpResponse clone()
clone in class ObjectHttpResponse(xyz.cofe.http.HttpResponse, boolean, boolean)public HttpResponse clone(boolean cloneHeaders, boolean cloneBuffer)
cloneHeaders - клонировать заголовкиcloneBuffer - клонировать буферHttpResponse(xyz.cofe.http.HttpResponse, boolean, boolean)protected HttpResponse clone(HttpRequest req, boolean cloneHeaders, boolean cloneBuffer)
req - Запрос для клонаcloneHeaders - клонировать заголовкиcloneBuffer - клонировать буферpublic void start()
public xyz.cofe.collection.Func1<Object,URLConnection> getData()
public void setData(xyz.cofe.collection.Func1<Object,URLConnection> data)
public HttpRequest getRequest()
protected void addError(Throwable err)
public Set<HttpListener> getListeners()
public Closeable addListener(HttpListener listener)
public Closeable addListener(HttpListener listener, boolean weakLink)
public void removeListener(HttpListener listener)
protected void fireEvent(HttpEvent event)
public long getDownloadedSize()
public long getMaxDownloadSize()
public void setMaxDownloadSize(long maxSize)
maxSize - макс загружаемых данных, maxSize < 0 - без ограниченийpublic Date getStarted()
public Date getFinished()
public boolean isErrorsNotExists()
public HttpResponse.State getState()
protected void setState(HttpResponse.State newState)
newState - текущее состояниеpublic boolean isFinished()
isFinished in interface IsFinishedpublic int getStatusCode()
protected void setStatusCode(int newStatusCode)
public String getStatusMessage()
protected void setStatusMessage(String statusMessage)
public Thread getThread()
public boolean isAsync()
public int getDownloadBufferSize()
public void setDownloadBufferSize(int buffSize)
public HttpHeaders getHttpHeaders()
protected void setHttpHeaders(HttpHeaders headers)
public xyz.cofe.cbuffer.ContentBuffer getContentBuffer()
public Charset getContentCharset()
public String getText()
public long getContentWriterPos()
protected void setContentWriterPos(long pos)
public String getThreadName()
public void setThreadName(String threadName)
threadName - Имя паралельного потока, возможно nullpublic boolean isFollowRedirect()
public void setFollowRedirect(boolean followRedirect)
followRedirect - true - переход по redirectpublic List<HttpResponse> getRedirectResponses()
public List<xyz.cofe.collection.Pair<URL,URL>> getRedirectUrls()
public xyz.cofe.collection.Pair<URL,URL> getLastRedirectUrl()
public URL getLastRedirectUrlTo()
protected void addRedirect(HttpResponse response, URL from, URL to)
response - редиректfrom - откуда переходto - куда переходpublic xyz.cofe.collection.Func4<Boolean,HttpHeaders,URL,URL,List<xyz.cofe.collection.Pair<URL,URL>>> getRedirectValidate()
public void setRedirectValidate(xyz.cofe.collection.Func4<Boolean,HttpHeaders,URL,URL,List<xyz.cofe.collection.Pair<URL,URL>>> redirectValidate)
redirectValidate - функция проверки: public HttpRequest getCurrentRequest()
protected void setCurrentRequest(HttpRequest currentRequest)
currentRequest - текущий запросprotected void start(HttpRequest sourceRequest, URL urlFrom, URLConnection connection)
sourceRequest - Исходный запросconnection - СоединениеurlFrom - Исходный URL адрессаpublic void pause()
protected boolean hasPauseSignal()
public void resume()
protected boolean hasContinueSignal()
protected void acceptDownloaded(byte[] buffer,
int off,
int len)
buffer - данныеoff - смещение в bufferlen - объем в bufferprotected void startDownloading(InputStream inputStream) throws IOException
IOExceptionpublic void stop(long waitStopMS,
long forceStopMS,
long sleepTimeMS)
waitStopMS - время через которое повторно посылается сигнал остановкиforceStopMS - время через которое принудительно закрывается thread скачиванияsleepTimeMS - время засыпания потока, или 0 - для передачи Thread.yield()public void stop()
public void waitForFinished()
getState()public Closeable onFinished(xyz.cofe.collection.Func1<Object,HttpResponse> runOnFinsihed)
runOnFinsihed - код который надо вызватьCopyright © 2017. All rights reserved.