public class HttpResponse extends Object implements IsFinished
| Modifier and Type | Class and Description |
|---|---|
static class |
HttpResponse.ProgressEvent |
static class |
HttpResponse.RedirectEvent
Событие перехода на другой хост
|
static class |
HttpResponse.ResponseCreated
Событие - создан HttpResponse объект
|
static class |
HttpResponse.State
Состояние объекта
|
static class |
HttpResponse.StateChangedEvent |
| Modifier | Constructor and Description |
|---|---|
|
HttpResponse(HttpRequest request,
Throwable error)
Конструктор с ошибкой открытия соединения
|
|
HttpResponse(HttpRequest request,
URLConnection connection) |
|
HttpResponse(HttpResponse source)
Конструктор копирования.
|
protected |
HttpResponse(HttpResponse source,
HttpRequest req)
Конструктор копирования.
|
| 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()
Создание клона
|
protected HttpResponse |
clone(HttpRequest req)
Создание клона
|
protected void |
fireEvent(HttpEvent event) |
ContentBuffer |
getContentBuffer() |
Charset |
getContentCharset() |
long |
getContentWriterPos() |
HttpRequest |
getCurrentRequest()
Возвращает текущий запрос.
|
Func1<Object,URLConnection> |
getData() |
int |
getDownloadBufferSize() |
long |
getDownloadedSize()
Возвращает кол-во загруженых байтов
|
List<Throwable> |
getErrors() |
Date |
getFinishDate() |
HttpHeaders |
getHttpHeaders() |
long |
getId()
Получение идентификатора
|
Pair<URL,URL> |
getLastRedirectUrl()
Возвращает последнее перенаправление
|
URL |
getLastRedirectUrlTo()
Возвращает последний адрес куда было перенаправление
|
Set<HttpListener> |
getListeners() |
Object |
getLock()
Получение блокировки
|
long |
getMaxDownloadSize()
Возвращает максимум загужаемых данных, по умолчанию без ограничения
|
List<HttpResponse> |
getRedirectResponses()
Получение списка ответов редиректа
|
List<Pair<URL,URL>> |
getRedirectUrls()
Получение списка редиректов
|
Func4<Boolean,HttpHeaders,URL,URL,List<Pair<URL,URL>>> |
getRedirectValidate()
Возвращает проверку redirect.
|
HttpRequest |
getRequest() |
Long |
getSleeping()
Указывает время ожидания в цикле.
0 или меньше - используется инструкция Thread.yield,
больше 0 - используется инструкция Thread.sleep,
|
Date |
getStartDate() |
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(Func1<Object,HttpResponse> runOnFinsihed)
Вызывать код когда запрос перейдет в состояние finishDate.
|
void |
pause() |
void |
removeListener(HttpListener listener) |
void |
resume() |
void |
setContentCharset(Charset cs) |
protected void |
setContentWriterPos(long pos) |
protected void |
setCurrentRequest(HttpRequest currentRequest)
Устанавливает текущий запрос
|
void |
setData(Func1<Object,URLConnection> data) |
void |
setDownloadBufferSize(int buffSize) |
void |
setFollowRedirect(boolean followRedirect)
Переходить по redirect
|
protected void |
setHttpHeaders(HttpHeaders headers) |
void |
setMaxDownloadSize(long maxSize)
Устанавливает максимум загужаемых данных.
|
void |
setRedirectValidate(Func4<Boolean,HttpHeaders,URL,URL,List<Pair<URL,URL>>> redirectValidate)
Устанавливает проверку redirect.
|
void |
setSleeping(Long sleeping)
Указывает время ожидания в цикле.
|
protected void |
setState(HttpResponse.State newState)
Устанавливает текущее состояние
|
protected void |
setStatusCode(int newStatusCode) |
protected void |
setStatusMessage(String statusMessage) |
void |
setText(String txt) |
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 Object sync
protected volatile URLConnection connection
protected volatile Func1<Object,URLConnection> data
protected final HttpListenersHelper httpListenerHelper
protected volatile long downloadedSize
protected volatile Long maxDownloadSize
protected volatile Date startDate
protected volatile Date finishDate
protected volatile HttpResponse.State state
protected volatile int statusCode
protected volatile String statusMessage
protected volatile Thread thread
protected volatile Boolean async
protected volatile int downloadBufferSize
protected volatile ContentBuffer contentBuffer
protected volatile Charset contentCharset
protected volatile String text
protected volatile Long contentWriterPos
protected volatile String threadName
protected volatile Boolean followRedirect
protected final List<HttpResponse> redirects
protected volatile Func4<Boolean,HttpHeaders,URL,URL,List<Pair<URL,URL>>> redirectValidate
protected volatile HttpRequest currentRequest
protected volatile AtomicBoolean needPause
protected volatile AtomicBoolean continueSignal
protected volatile Long sleeping
protected HttpResponse(HttpResponse source, HttpRequest req)
source - исходный объектreq - Переопределить запросpublic HttpResponse(HttpResponse source)
source - исходный объектHttpResponse(xyz.cofe.http.HttpResponse, xyz.cofe.http.HttpRequest)public HttpResponse(HttpRequest request, Throwable error)
request - запросerror - описание ошибкиpublic HttpResponse(HttpRequest request, URLConnection connection)
public Object getLock()
public final long getId()
public HttpResponse clone()
clone in class ObjectHttpResponse(xyz.cofe.http.HttpResponse)protected HttpResponse clone(HttpRequest req)
req - Запрос для клонаpublic void start()
public Func1<Object,URLConnection> getData()
public void setData(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 getStartDate()
public Date getFinishDate()
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 ContentBuffer getContentBuffer()
public Charset getContentCharset()
public void setContentCharset(Charset cs)
public String getText()
public void setText(String txt)
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<Pair<URL,URL>> getRedirectUrls()
public Pair<URL,URL> getLastRedirectUrl()
public URL getLastRedirectUrlTo()
protected void addRedirect(HttpResponse response, URL from, URL to)
response - редиректfrom - откуда переходto - куда переходpublic Func4<Boolean,HttpHeaders,URL,URL,List<Pair<URL,URL>>> getRedirectValidate()
setRedirectValidate(xyz.cofe.collection.Func4)public void setRedirectValidate(Func4<Boolean,HttpHeaders,URL,URL,List<Pair<URL,URL>>> redirectValidate)
redirectValidate - функция проверки: boolean fn( HttpHeaders hh, URL from, URL to, List<URL,URL> history )
RedirectValidatorpublic 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 - объем в bufferpublic Long getSleeping()
public void setSleeping(Long sleeping)
sleeping - время в мсprotected 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(Func1<Object,HttpResponse> runOnFinsihed)
runOnFinsihed - код который надо вызватьCopyright © 2019. All rights reserved.