InMemoryTransformCronetCallback

public abstract class InMemoryTransformCronetCallback<T> extends ImplicitFlowControlCallback

Subclases directas conocidas
ByteArrayCronetCallback

Es una especialización de InMemoryTransformCronetCallback que devuelve los bytes del cuerpo de forma literal sin ninguna interpretación.

JsonCronetCallback

Es una especialización de InMemoryTransformCronetCallback que interpreta el cuerpo de la respuesta como JSON.

StringCronetCallback

Es una especialización de InMemoryTransformCronetCallback que interpreta el cuerpo de la respuesta como una cadena.


Es una devolución de llamada abstracta de Cronet que lee todo el cuerpo en la memoria y, de manera opcional, lo deserializa antes de pasarlo de vuelta al emisor de la solicitud HTTP.

El solicitante puede suscribirse para recibir actualizaciones sobre la solicitud agregando mListeners de finalización en la devolución de llamada. Cuando la solicitud alcanza un estado terminal, se informa a los mListeners en el orden en que se agregaron.

Parámetros
<T>

el tipo de cuerpo de la respuesta

Resumen

Constructores públicos

Métodos públicos

ImplicitFlowControlCallback

Agrega un objeto de escucha de finalización.

Métodos protegidos

final void

Se invoca cada vez que se ha leído parte del cuerpo de la respuesta.

final void

Se invoca si la solicitud se canceló a través de cancel.

final void

Se invoca si la solicitud falla por algún motivo después de start.

final void

Se invoca cuando se recibe el conjunto final de encabezados después de todos los redireccionamientos.

final void

Se invoca cuando la solicitud se completa correctamente.

abstract T
transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

Transforma (deserializa) el cuerpo simple completo en un objeto definido por el usuario.

Métodos heredados

Desde org.chromium.net.apihelpers.ImplicitFlowControlCallback
final void

Se invoca si la solicitud se canceló a través de cancel.

final void
onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

Se invoca si la solicitud falla por algún motivo después de start.

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

Se invoca cada vez que se ha leído parte del cuerpo de la respuesta.

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

Se invoca cada vez que se encuentra un redireccionamiento.

final void

Se invoca cuando se recibe el conjunto final de encabezados después de todos los redireccionamientos.

final void

Se invoca cuando la solicitud se completa correctamente.

abstract boolean

Se invoca cada vez que se encuentra un redireccionamiento.

De org.chromium.net.UrlRequest.Callback
abstract void
onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

Se invoca si la solicitud falla por algún motivo después de start.

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

Se invoca cada vez que se ha leído parte del cuerpo de la respuesta.

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

Se invoca cada vez que se encuentra un redireccionamiento.

Constructores públicos

InMemoryTransformCronetCallback

public InMemoryTransformCronetCallback()

Métodos públicos

addCompletionListener

public ImplicitFlowControlCallback addCompletionListener(CronetRequestCompletionListener<T> listener)

Agrega un objeto de escucha de finalización. Se informa a todos los objetos de escucha cuando la solicitud alcanza un estado terminal, en el orden en que se agregaron. Si se agrega un objeto de escucha varias veces, solo se llamará una vez según la primera vez que se agregó.

Métodos protegidos

onBodyChunkRead

protected final void onBodyChunkRead(UrlResponseInfo info, ByteBuffer bodyChunk)

Se invoca cada vez que se ha leído parte del cuerpo de la respuesta. Solo se puede completar parte del búfer, incluso si aún no se consumió todo el cuerpo de la respuesta. El búfer está listo para la lectura. Los búferes se reutilizan de forma interna, por lo que la clase de implementación no debe almacenar el búfer ni usarlo en ningún otro lugar que no sea la implementación de este método.

Parámetros
UrlResponseInfo info

Es la información de la respuesta.

ByteBuffer bodyChunk

Es el búfer que contiene los datos recibidos, invertido para la lectura.

Arroja
java.lang.Exception

Si se produce un error durante el procesamiento de una finalización de lectura, se llamará a onFailed con la excepción lanzada establecida como causa de CallbackException.

onCanceled

protected final void onCanceled(@Nullable UrlResponseInfo info)

Se invoca si la solicitud se canceló a través de cancel. Una vez que se invoca, no se invoca ningún otro método UrlRequest.Callback.

Parámetros
@Nullable UrlResponseInfo info

Es la información de la respuesta. Puede ser null si no se recibió ninguna respuesta.

onFailed

protected final void onFailed(@Nullable UrlResponseInfo info, CronetException exception)

Se invoca si la solicitud falla por algún motivo después de start. Una vez que se invoca, no se invoca ningún otro método UrlRequest.Callback. error proporciona información sobre el error.

Parámetros
@Nullable UrlResponseInfo info

Es la información de la respuesta. Puede ser null si no se recibió ninguna respuesta.

CronetException exception

Es información sobre el error.

onResponseStarted

protected final void onResponseStarted(UrlResponseInfo info)

Se invoca cuando se recibe el conjunto final de encabezados después de todos los redireccionamientos. Solo se invocará una vez por cada solicitud. Se garantiza que Cronet no comenzará a leer el cuerpo hasta que se muestre este método.

Parámetros
UrlResponseInfo info

Es la información de la respuesta.

Arroja
java.lang.Exception

Si se produce un error durante el procesamiento del inicio de la respuesta, se llamará a onFailed con la excepción lanzada establecida como la causa de CallbackException.

onSucceeded

protected final void onSucceeded(UrlResponseInfo info)

Se invoca cuando la solicitud se completa correctamente. Una vez que se invoca, no se invoca ningún otro método UrlRequest.Callback.

Parámetros
UrlResponseInfo info

Es la información de la respuesta.

transformBodyBytes

protected abstract T transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

Transforma (deserializa) el cuerpo simple completo en un objeto definido por el usuario.

Se supone que las clases de implementación manejan los casos extremos (como cuerpos vacíos o con formato incorrecto) de manera adecuada. Cronet no inspecciona los objetos y los pasa (o cualquier excepción) al emisor de la solicitud.