UrlRequest.Callback

public abstract class UrlRequest.Callback

Известные прямые подклассы ImplicitFlowControlCallback
ImplicitFlowControlCallback

Реализация метода UrlRequest.Callback , которая избавляет от сложностей управления жизненным циклом запроса и автоматически полностью считывает ответ.

Известные косвенные подклассы : ByteArrayCronetCallback , InMemoryTransformCronetCallback , JsonCronetCallback , StringCronetCallback
ByteArrayCronetCallback

Специализация функции InMemoryTransformCronetCallback , которая возвращает байты тела запроса в неизменном виде, без какой-либо интерпретации.

InMemoryTransformCronetCallback

Абстрактный коллбэк Cronet, который считывает всё тело запроса в память и, при необходимости, десериализует его перед передачей обратно отправителю HTTP-запроса.

JsonCronetCallback

Специализация класса InMemoryTransformCronetCallback , которая интерпретирует тело ответа как JSON.

StringCronetCallback

Специализация класса InMemoryTransformCronetCallback , которая интерпретирует тело ответа как строку.


Пользователи Cronet расширяют этот класс, чтобы получать обратные вызовы, указывающие на ход обработки UrlRequest . Экземпляр этого класса передается в конструктор UrlRequest.Builder при создании объекта UrlRequest .

Примечание: Все методы будут вызываться в потоке объекта java.util.concurrent.Executor , использованного при создании объекта UrlRequest .

Краткое содержание

Государственные строители

Общедоступные методы

void

Вызывается, если запрос был отменен с помощью cancel .

abstract void

Вызывается, если запрос по какой-либо причине не удался после start .

abstract void
onReadCompleted (
UrlRequest request,
UrlResponseInfo info,
ByteBuffer byteBuffer
)

Вызывается всякий раз, когда считывается часть тела ответа.

abstract void
onRedirectReceived (
UrlRequest request,
UrlResponseInfo info,
String newLocationUrl
)

Вызывается при обнаружении перенаправления.

abstract void

Вызывается при получении окончательного набора заголовков после всех перенаправлений.

abstract void

Вызывается при успешном завершении запроса.

Государственные строители

Перезвонить

public Callback()

Общедоступные методы

Отменено

public void onCanceled(UrlRequest request, UrlResponseInfo info)

Вызывается, если запрос был отменен с помощью cancel . После вызова другие методы Callback вызываться не будут. Реализация по умолчанию не предпринимает никаких действий.

Параметры
UrlRequest request

Запрос, который был отменен.

UrlResponseInfo info

Информация об ответе. Может быть null если ответ не был получен.

onFailed

public abstract void onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

Вызывается, если запрос не удался по какой-либо причине после start . После вызова другие методы Callback вызываться не будут. error предоставляет информацию о сбое.

Параметры
UrlRequest request

Неудачный запрос.

UrlResponseInfo info

Информация об ответе. Может быть null если ответ не был получен.

CronetException error

Информация об ошибке.

onReadCompleted

public abstract void onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

Вызывается всякий раз, когда прочитана часть тела ответа. Может быть заполнена только часть буфера, даже если всё тело ответа ещё не прочитано. За исключением onCanceled() , никакие другие методы Callback для запроса, включая onSucceeded() и onFailed() , не будут вызваны до тех пор, пока не будет вызван UrlRequest.read() для попытки продолжить чтение тела ответа.

Параметры
UrlRequest request

Запрос на получение данных.

UrlResponseInfo info

Информация об ответе.

ByteBuffer byteBuffer

Буфер, переданный в UrlRequest.read() , теперь содержит полученные данные. Позиция буфера обновляется до конца полученных данных. Лимит буфера не изменяется.

Броски
java.lang.Exception

Если при обработке завершения чтения возникает ошибка, будет вызван onFailed , в качестве причины вызова CallbackException будет указано выброшенное исключение.

onRedirectReceived

public abstract void onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

Вызывается всякий раз, когда встречается перенаправление. Этот метод будет вызываться только между вызовом метода start и onResponseStarted() . Тело ответа о перенаправлении, если оно есть, будет проигнорировано. Перенаправление не будет выполнено до тех пор, пока не будет вызван метод followRedirect объекта URLRequest, синхронно или асинхронно.

Параметры
UrlRequest request

Запрос перенаправляется.

UrlResponseInfo info

Информация об ответе.

String newLocationUrl

Место, куда перенаправляется запрос.

Броски
java.lang.Exception

Если при обработке перенаправления возникает ошибка, будет вызван onFailed , в качестве причины CallbackException будет указано выброшенное исключение.

onResponseStarted

public abstract void onResponseStarted(UrlRequest request, UrlResponseInfo info)

Вызывается после получения окончательного набора заголовков, после всех перенаправлений. Будет вызываться только один раз для каждого запроса. За исключением onCanceled() , никакие другие методы Callback , включая onSucceeded() и onFailed() , не будут вызываться для запроса до тех пор, пока не будет вызван UrlRequest.read() для попытки начать чтение тела ответа.

Параметры
UrlRequest request

Запрос, на который был отправлен ответ.

UrlResponseInfo info

Информация об ответе.

Броски
java.lang.Exception

Если при обработке ответа возникает ошибка, будет вызван onFailed , в качестве причины вызова CallbackException будет указано выброшенное исключение.

onSucceeded

public abstract void onSucceeded(UrlRequest request, UrlResponseInfo info)

Вызывается после успешного завершения запроса. После вызова другие методы Callback вызываться не будут.

Параметры
UrlRequest request

Запрос, который был успешно выполнен.

UrlResponseInfo info

Информация об ответе.