UrlRequest.Callback

public abstract class UrlRequest.Callback

Sous-classes directes connues
ImplicitFlowControlCallback

Implémentation de UrlRequest.Callback qui simplifie la gestion du cycle de vie des requêtes et procède automatiquement à la lecture complète de la réponse.

Sous-classes indirectes connues
ByteArrayCronetCallback

Spécialisation de InMemoryTransformCronetCallback qui renvoie les octets du corps tels quels, sans aucune interprétation.

InMemoryTransformCronetCallback

Rappel Cronet abstrait qui lit l'intégralité du corps en mémoire et le désérialise éventuellement avant de le renvoyer à l'émetteur de la requête HTTP.

JsonCronetCallback

Spécialisation de InMemoryTransformCronetCallback qui interprète le corps de la réponse au format JSON.

StringCronetCallback

Spécialisation de InMemoryTransformCronetCallback qui interprète le corps de la réponse sous forme de chaîne.


Les utilisateurs de Cronet étendent cette classe pour recevoir des rappels indiquant la progression d'une UrlRequest en cours de traitement. Une instance de cette classe est transmise au constructeur de UrlRequest.Builder lors de la construction de la UrlRequest.

Remarque : Toutes les méthodes seront appelées sur le thread de java.util.concurrent.Executor utilisé lors de la construction de la UrlRequest.

Résumé

Constructeurs publics

Méthodes publiques

void

Appelée si la requête a été annulée via cancel.

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

Appelée si la requête a échoué pour une raison quelconque après start.

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

Appelée chaque fois qu'une partie du corps de la réponse a été lue.

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

Appelée chaque fois qu'une redirection est rencontrée.

abstract void

Appelée lorsque l'ensemble final d'en-têtes, après toutes les redirections, est reçu.

abstract void

Appelée lorsque la requête est terminée.

Constructeurs publics

Rappel

public Callback()

Méthodes publiques

onCanceled

public void onCanceled(UrlRequest request, UrlResponseInfo info)

Appelée si la requête a été annulée via cancel. Une fois appelée, aucune autre méthode Callback ne sera appelée. L'implémentation par défaut n'effectue aucune action.

Paramètres
UrlRequest request

Requête qui a été annulée.

UrlResponseInfo info

Informations sur la réponse. Peut être null si aucune réponse n'a été reçue.

onFailed

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

Appelée si la requête a échoué pour une raison quelconque après start. Une fois appelée, aucune autre méthode Callback ne sera appelée. error fournit des informations sur l'échec.

Paramètres
UrlRequest request

Requête qui a échoué.

UrlResponseInfo info

Informations sur la réponse. Peut être null si aucune réponse n'a été reçue.

CronetException error

Informations sur l'erreur.

onReadCompleted

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

Appelée chaque fois qu'une partie du corps de la réponse a été lue. Seule une partie du tampon peut être remplie, même si l'intégralité du corps de la réponse n'a pas encore été consommée. À l'exception de onCanceled(), aucune autre méthode Callback ne sera appelée pour la requête, y compris onSucceeded() et onFailed(), tant que UrlRequest.read() n'est pas appelé pour tenter de continuer à lire le corps de la réponse.

Paramètres
UrlRequest request

Requête qui a reçu des données.

UrlResponseInfo info

Informations sur la réponse.

ByteBuffer byteBuffer

Tampon qui a été transmis à UrlRequest.read(), et qui contient maintenant les données reçues. La position du tampon est mise à jour jusqu'à la fin des données reçues. La limite du tampon n'est pas modifiée.

Génère
java.lang.Exception

Si une erreur se produit lors du traitement d'une lecture. onFailed sera appelé avec l'exception générée définie comme cause de CallbackException.

onRedirectReceived

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

Appelée chaque fois qu'une redirection est rencontrée. Elle ne sera appelée qu'entre l'appel à start et onResponseStarted(). Le corps de la réponse de redirection, le cas échéant, sera ignoré. La redirection ne sera pas suivie tant que la méthode followRedirect de l'URLRequest n'est pas appelée, de manière synchrone ou asynchrone.

Paramètres
UrlRequest request

Requête en cours de redirection.

UrlResponseInfo info

Informations sur la réponse.

String newLocationUrl

Emplacement vers lequel la requête est redirigée.

Génère
java.lang.Exception

Si une erreur se produit lors du traitement d'une redirection. onFailed sera appelé avec l'exception générée définie comme cause de CallbackException.

onResponseStarted

public abstract void onResponseStarted(UrlRequest request, UrlResponseInfo info)

Appelée lorsque l'ensemble final d'en-têtes, après toutes les redirections, est reçu. Ne sera appelée qu'une seule fois pour chaque requête. À l'exception de onCanceled(), aucune autre méthode Callback ne sera appelée pour la requête, y compris onSucceeded() et onFailed(), tant que UrlRequest.read() n'est pas appelé pour tenter de commencer à lire le corps de la réponse.

Paramètres
UrlRequest request

Requête qui a commencé à obtenir une réponse.

UrlResponseInfo info

Informations sur la réponse.

Génère
java.lang.Exception

Si une erreur se produit lors du traitement du début de la réponse. onFailed sera appelé avec l'exception générée définie comme cause de CallbackException.

onSucceeded

public abstract void onSucceeded(UrlRequest request, UrlResponseInfo info)

Appelée lorsque la requête est terminée. Une fois appelée, aucune autre méthode Callback ne sera appelée.

Paramètres
UrlRequest request

Requête qui a réussi.

UrlResponseInfo info

Informations sur la réponse.