UrlRequest.Callback

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 .

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

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

Общественные функции

Unit
onCanceled (request: UrlRequest !, info: UrlResponseInfo !)

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

abstract Unit
onFailed (
request: UrlRequest !,
info: UrlResponseInfo !,
error: CronetException !
)

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

abstract Unit
onReadCompleted (
request: UrlRequest !,
info: UrlResponseInfo !,
byteBuffer: ByteBuffer !
)

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

abstract Unit
onRedirectReceived (
request: UrlRequest !,
info: UrlResponseInfo !,
newLocationUrl: String !
)

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

abstract Unit

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

abstract Unit
onSucceeded (request: UrlRequest !, info: UrlResponseInfo !)

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

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

Перезвонить

Callback()

Общественные функции

Отменено

fun onCanceled(request: UrlRequest!, info: UrlResponseInfo!): Unit

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

Параметры
request: UrlRequest !

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

info: UrlResponseInfo !

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

onFailed

abstract fun onFailed(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    error: CronetException!
): Unit

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

Параметры
request: UrlRequest !

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

info: UrlResponseInfo !

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

error: CronetException !

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

onReadCompleted

abstract fun onReadCompleted(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    byteBuffer: ByteBuffer!
): Unit

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

Параметры
request: UrlRequest !

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

info: UrlResponseInfo !

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

byteBuffer: ByteBuffer !

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

Броски
java.lang.Exception

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

onRedirectReceived

abstract fun onRedirectReceived(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    newLocationUrl: String!
): Unit

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

Параметры
request: UrlRequest !

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

info: UrlResponseInfo !

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

newLocationUrl: String !

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

Броски
java.lang.Exception

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

onResponseStarted

abstract fun onResponseStarted(request: UrlRequest!, info: UrlResponseInfo!): Unit

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

Параметры
request: UrlRequest !

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

info: UrlResponseInfo !

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

Броски
java.lang.Exception

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

onSucceeded

abstract fun onSucceeded(request: UrlRequest!, info: UrlResponseInfo!): Unit

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

Параметры
request: UrlRequest !

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

info: UrlResponseInfo !

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