UrlRequest.Callback

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

Fonctions publiques

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

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

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

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

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

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

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

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

abstract Unit

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

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

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

Constructeurs publics

Rappel

Callback()

Fonctions publiques

onCanceled

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

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

Paramètres
request: UrlRequest!

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

info: UrlResponseInfo!

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

onFailed

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

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

Paramètres
request: UrlRequest!

Requête qui a échoué.

info: UrlResponseInfo!

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

error: CronetException!

Informations sur l'erreur.

onReadCompleted

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

Appelé 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
request: UrlRequest!

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

info: UrlResponseInfo!

Informations sur la réponse.

byteBuffer: ByteBuffer!

Tampon transmis à UrlRequest.read(), contenant désormais 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

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

Appelé chaque fois qu'une redirection est rencontrée. Cette méthode 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
request: UrlRequest!

Requête en cours de redirection.

info: UrlResponseInfo!

Informations sur la réponse.

newLocationUrl: String!

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

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

Appelé lorsque l'ensemble final d'en-têtes, après toutes les redirections, est reçu. Ne sera appelé 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
request: UrlRequest!

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

info: UrlResponseInfo!

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

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

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

Paramètres
request: UrlRequest!

Requête qui a abouti.

info: UrlResponseInfo!

Informations sur la réponse.