InMemoryTransformCronetCallback

public abstract class InMemoryTransformCronetCallback<T> extends ImplicitFlowControlCallback

Subclasses diretas conhecidas
ByteArrayCronetCallback

Uma especialização de InMemoryTransformCronetCallback que retorna os bytes do corpo exatamente como estão, sem interpretação.

JsonCronetCallback

Uma especialização de InMemoryTransformCronetCallback que interpreta o corpo da resposta como JSON.

StringCronetCallback

Uma especialização de InMemoryTransformCronetCallback que interpreta o corpo da resposta como uma string.


Um callback abstrato do Cronet que lê todo o corpo para a memória e, opcionalmente, desserializa o corpo antes de transmiti-lo de volta ao emissor da solicitação HTTP.

O solicitante pode se inscrever para receber atualizações sobre a solicitação adicionando mListeners de conclusão ao callback. Quando a solicitação atinge um estado terminal, os mListeners são informados na ordem de adição.

Parâmetros
<T>

o tipo do corpo da resposta

Resumo

Construtores públicos

Métodos públicos

ImplicitFlowControlCallback

Adiciona um listener de conclusão.

Métodos protegidos

final void

Invocado sempre que parte do corpo da resposta tiver sido lida.

final void

Invocado se a solicitação foi cancelada usando cancel.

final void

Invocado se a solicitação falhou por qualquer motivo após start.

final void

Invocado quando o conjunto final de cabeçalhos, após todos os redirecionamentos, é recebido.

final void

Invocado quando a solicitação é concluída.

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

Transforma (desserializa) o corpo inteiro simples em um objeto definido pelo usuário.

Métodos herdados

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

Invocado se a solicitação foi cancelada usando cancel.

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

Invocado se a solicitação falhou por qualquer motivo após start.

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

Invocado sempre que parte do corpo da resposta tiver sido lida.

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

Invocado sempre que um redirecionamento é encontrado.

final void

Invocado quando o conjunto final de cabeçalhos, após todos os redirecionamentos, é recebido.

final void

Invocado quando a solicitação é concluída.

abstract boolean

Invocado sempre que um redirecionamento é encontrado.

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

Invocado se a solicitação falhou por qualquer motivo após start.

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

Invocado sempre que parte do corpo da resposta tiver sido lida.

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

Invocado sempre que um redirecionamento é encontrado.

Construtores públicos

InMemoryTransformCronetCallback

public InMemoryTransformCronetCallback()

Métodos públicos

addCompletionListener

public ImplicitFlowControlCallback addCompletionListener(CronetRequestCompletionListener<T> listener)

Adiciona um listener de conclusão. Todos os listeners são informados quando a solicitação atinge um estado terminal, na ordem de adição. Se um listener for adicionado várias vezes, ele só será chamado uma vez, de acordo com a primeira vez em que foi adicionado.

Métodos protegidos

onBodyChunkRead

protected final void onBodyChunkRead(UrlResponseInfo info, ByteBuffer bodyChunk)

Invocado sempre que parte do corpo da resposta tiver sido lida. Apenas parte do buffer pode ser preenchida, mesmo que todo o corpo da resposta ainda não tenha sido consumido. O buffer está pronto para leitura. Os buffers são reutilizados internamente. Portanto, a classe de implementação não deve armazenar o buffer nem usá-lo em outro lugar que não seja a implementação desse método.

Parâmetros
UrlResponseInfo info

Informações da resposta.

ByteBuffer bodyChunk

O buffer que contém os dados recebidos, invertido para leitura.

Gera
java.lang.Exception

Se ocorrer um erro durante o processamento de uma conclusão de leitura, onFailed será chamado com a exceção lançada definida como a causa do CallbackException.

onCanceled

protected final void onCanceled(@Nullable UrlResponseInfo info)

Invocado se a solicitação foi cancelada usando cancel. Depois de invocado, nenhum outro método UrlRequest.Callback será invocado.

Parâmetros
@Nullable UrlResponseInfo info

Informações da resposta. Pode ser null se nenhuma resposta foi recebida.

onFailed

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

Invocado se a solicitação falhou por qualquer motivo após start. Depois de invocado, nenhum outro método UrlRequest.Callback será invocado. error fornece informações sobre a falha.

Parâmetros
@Nullable UrlResponseInfo info

Informações da resposta. Pode ser null se nenhuma resposta foi recebida.

CronetException exception

informações sobre o erro.

onResponseStarted

protected final void onResponseStarted(UrlResponseInfo info)

Invocado quando o conjunto final de cabeçalhos, após todos os redirecionamentos, é recebido. Será invocado apenas uma vez para cada solicitação. É garantido que o Cronet não vai começar a ler o corpo até que esse método seja retornado.

Parâmetros
UrlResponseInfo info

Informações da resposta.

Gera
java.lang.Exception

Se ocorrer um erro durante o processamento do início da resposta, onFailed será chamado com a exceção lançada definida como a causa do CallbackException.

onSucceeded

protected final void onSucceeded(UrlResponseInfo info)

Invocado quando a solicitação é concluída. Depois de invocado, nenhum outro método UrlRequest.Callback será invocado.

Parâmetros
UrlResponseInfo info

Informações da resposta.

transformBodyBytes

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

Transforma (desserializa) o corpo inteiro simples em um objeto definido pelo usuário.

Supõe-se que as classes de implementação lidam com casos extremos (como corpos vazios e malformados) de maneira adequada. O Cronet não inspeciona os objetos e os transmite (ou quaisquer exceções) ao emissor da solicitação.