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 URLConnection connection
protected Func1<Object,URLConnection> data
protected final HttpListenersHelper httpListenerHelper
protected long downloadedSize
protected Long maxDownloadSize
protected Date startDate
protected Date finishDate
protected HttpResponse.State state
protected int statusCode
protected String statusMessage
protected Thread thread
protected Boolean async
protected int downloadBufferSize
protected ContentBuffer contentBuffer
protected Charset contentCharset
protected String text
protected Long contentWriterPos
protected String threadName
protected Boolean followRedirect
protected final List<HttpResponse> redirects
protected HttpRequest currentRequest
protected volatile AtomicBoolean needPause
protected volatile AtomicBoolean continueSignal
protected 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()
public void setRedirectValidate(Func4<Boolean,HttpHeaders,URL,URL,List<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 - объем в 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 © 2018. All rights reserved.