ImplicitFlowControlCallback

public abstract class ImplicitFlowControlCallback extends UrlRequest.Callback

Sous-classes directes connues
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.

Sous-classes indirectes connues
ByteArrayCronetCallback

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

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 comme une chaîne.


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

Résumé

Constructeurs publics

Méthodes publiques

final void

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

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

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

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

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

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

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

final void

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

final void

Invoqué lorsque la requête est traitée avec succès.

Méthodes protégées

abstract void

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

abstract void

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

abstract void

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

abstract void

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

abstract void

Invoqué lorsque la requête est traitée avec succès.

abstract boolean

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

Constructeurs publics

ImplicitFlowControlCallback

public ImplicitFlowControlCallback()

Méthodes publiques

onCanceled

public final void onCanceled(UrlRequest request, UrlResponseInfo info)

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

Paramètres
UrlRequest request

Demande annulée.

UrlResponseInfo info

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

onFailed

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

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

Paramètres
UrlRequest request

Demande ayant é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 final void onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

Méthode 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'aura pas été appelé pour tenter de continuer à lire le corps de la réponse.

Paramètres
UrlRequest request

Demande ayant reçu des données.

UrlResponseInfo info

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 à 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 confirmation de lecture. onFailed sera appelé avec l'exception générée définie comme cause de CallbackException.

onRedirectReceived

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

Invoqué 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 suivie que lorsque la méthode followRedirect d'URLRequest sera appelée, de manière synchrone ou asynchrone.

Paramètres
UrlRequest request

Demander à être redirigé

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 final void onResponseStarted(UrlRequest request, UrlResponseInfo info)

Invoqué 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
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 final void onSucceeded(UrlRequest request, UrlResponseInfo info)

Invoqué lorsque la requête est traitée avec succès. Une fois invoquée, aucune autre méthode Callback ne sera invoquée.

Paramètres
UrlRequest request

Demande acceptée.

UrlResponseInfo info

Informations sur la réponse.

Méthodes protégées

onBodyChunkRead

protected abstract void onBodyChunkRead(UrlResponseInfo info, ByteBuffer bodyChunk)

Méthode 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. Le tampon est prêt pour la lecture. Les tampons sont réutilisés en interne. La classe d'implémentation ne doit donc pas stocker le tampon ni l'utiliser ailleurs que dans l'implémentation de cette méthode.

Paramètres
UrlResponseInfo info

Informations sur la réponse.

ByteBuffer bodyChunk

Mémoire tampon contenant les données reçues, inversée pour la lecture.

Génère
java.lang.Exception

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

onCanceled

protected abstract void onCanceled(@Nullable UrlResponseInfo info)

Invoqué si la requête a été annulée via cancel. Une fois invoquée, aucune autre méthode UrlRequest.Callback ne sera invoquée.

Paramètres
@Nullable UrlResponseInfo info

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

onFailed

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

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

Paramètres
@Nullable UrlResponseInfo info

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

CronetException exception

informations sur l'erreur.

onResponseStarted

protected abstract void onResponseStarted(UrlResponseInfo info)

Invoqué 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. Il est garanti que Cronet ne commence à lire le corps que lorsque cette méthode renvoie un résultat.

Paramètres
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 est appelé avec l'exception générée définie comme cause de CallbackException.

onSucceeded

protected abstract void onSucceeded(UrlResponseInfo info)

Invoqué lorsque la requête est traitée avec succès. Une fois invoquée, aucune autre méthode UrlRequest.Callback ne sera invoquée.

Paramètres
UrlResponseInfo info

Informations sur la réponse.

shouldFollowRedirect

protected abstract boolean shouldFollowRedirect(UrlResponseInfo info, String newLocationUrl)

Invoqué 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é.

Paramètres
UrlResponseInfo info

Informations sur la réponse.

String newLocationUrl

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

Renvoie
boolean

"true" si la redirection doit être suivie, "false" si la requête doit être annulé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.