UrlRequest.Callback

public abstract class UrlRequest.Callback

Subclasses diretas conhecidas
ImplicitFlowControlCallback

Uma implementação de UrlRequest.Callback que elimina a dificuldade de gerenciar o ciclo de vida da solicitação e prossegue automaticamente para ler a resposta inteira.

Subclasses indiretas conhecidas
ByteArrayCronetCallback

Uma especialização de InMemoryTransformCronetCallback que retorna os bytes do corpo literalmente, sem nenhuma interpretação.

InMemoryTransformCronetCallback

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

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.


Os usuários do Cronet estendem essa classe para receber callbacks que indicam o progresso de uma UrlRequest que está sendo processada. Uma instância dessa classe é transmitida ao construtor de UrlRequest.Builder ao construir a UrlRequest.

Observação: todos os métodos serão invocados na linha de execução do java.util.concurrent.Executor usado durante a construção da UrlRequest.

Resumo

Construtores públicos

Métodos públicos

void

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

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.

abstract void

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

abstract void

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

Construtores públicos

Callback

public Callback()

Métodos públicos

onCanceled

public void onCanceled(UrlRequest request, UrlResponseInfo info)

Invocado se a solicitação foi cancelada usando cancel. Depois de invocado, nenhum outro método Callback será invocado. A implementação padrão não realiza nenhuma ação.

Parâmetros
UrlRequest request

Solicitação que foi cancelada.

UrlResponseInfo info

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

onFailed

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

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

Parâmetros
UrlRequest request

Solicitação com falha.

UrlResponseInfo info

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

CronetException error

Informações sobre o erro.

onReadCompleted

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

Invocado sempre que parte do corpo da resposta tiver sido lida. Apenas parte do buffer pode ser preenchida, mesmo que o corpo da resposta inteiro ainda não tenha sido consumido. Com exceção de onCanceled(), nenhum outro método Callback será invocado para a solicitação, incluindo onSucceeded() e onFailed(), até que UrlRequest.read() seja chamado para tentar continuar lendo o corpo da resposta.

Parâmetros
UrlRequest request

Solicitação que recebeu dados.

UrlResponseInfo info

Informações da resposta.

ByteBuffer byteBuffer

O buffer que foi transmitido para UrlRequest.read(), agora contendo os dados recebidos. A posição do buffer é atualizada para o final dos dados recebidos. O limite do buffer não é alterado.

Gera
java.lang.Exception

Se ocorrer um erro ao processar uma conclusão de leitura. onFailed será chamado com a exceção gerada definida como a causa da CallbackException.

onRedirectReceived

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

Invocado sempre que um redirecionamento é encontrado. Isso só será invocado entre a chamada para start e onResponseStarted(). O corpo da resposta de redirecionamento, se houver, será ignorado. O redirecionamento não será seguido até que o método followRedirect do URLRequest seja chamado, de forma síncrona ou assíncrona.

Parâmetros
UrlRequest request

Solicitação sendo redirecionada.

UrlResponseInfo info

Informações da resposta.

String newLocationUrl

Local para onde a solicitação é redirecionada.

Gera
java.lang.Exception

Se ocorrer um erro ao processar um redirecionamento. onFailed será chamado com a exceção gerada definida como a causa da CallbackException.

onResponseStarted

public abstract void onResponseStarted(UrlRequest request, UrlResponseInfo info)

Invocado quando o conjunto final de cabeçalhos, após todos os redirecionamentos, é recebido. Só será invocado uma vez para cada solicitação. Com exceção de onCanceled(), nenhum outro método Callback será invocado para a solicitação, incluindo onSucceeded() e onFailed(), até que UrlRequest.read() seja chamado para tentar começar a ler o corpo da resposta.

Parâmetros
UrlRequest request

Solicitação que começou a receber resposta.

UrlResponseInfo info

Informações da resposta.

Gera
java.lang.Exception

Se ocorrer um erro ao processar o início da resposta. onFailed será chamado com a exceção gerada definida como a causa da CallbackException.

onSucceeded

public abstract void onSucceeded(UrlRequest request, UrlResponseInfo info)

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

Parâmetros
UrlRequest request

Solicitação bem-sucedida.

UrlResponseInfo info

Informações da resposta.