InMemoryTransformCronetCallback

public abstract class InMemoryTransformCronetCallback<T> extends ImplicitFlowControlCallback

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


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.

Le demandeur peut s'abonner aux mises à jour concernant la demande en ajoutant des mListeners de finalisation au rappel. Lorsque la requête atteint un état final, les mListeners sont informés dans l'ordre d'ajout.

Paramètres
<T>

le type de corps de réponse.

Résumé

Constructeurs publics

Méthodes publiques

ImplicitFlowControlCallback

Ajoute un écouteur de fin.

Méthodes protégées

final void

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

final void

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

final void

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

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.

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

Transforme (désérialise) le corps brut complet en un objet défini par l'utilisateur.

Méthodes héritées

From org.chromium.net.apihelpers.ImplicitFlowControlCallback
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.

abstract boolean

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

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

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

abstract 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.

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

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

Constructeurs publics

InMemoryTransformCronetCallback

public InMemoryTransformCronetCallback()

Méthodes publiques

addCompletionListener

public ImplicitFlowControlCallback addCompletionListener(CronetRequestCompletionListener<T> listener)

Ajoute un écouteur de fin. Tous les écouteurs sont informés lorsque la requête atteint un état final, dans l'ordre d'ajout. Si un écouteur est ajouté plusieurs fois, il ne sera appelé qu'une seule fois, en fonction de la première fois où il a été ajouté.

Méthodes protégées

onBodyChunkRead

protected final 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 final 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 final 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 final 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 final 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.

transformBodyBytes

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

Transforme (désérialise) le corps brut complet en un objet défini par l'utilisateur.

Il est supposé que les classes d'implémentation gèrent correctement les cas limites (tels que les corps vides et mal formés). Cronet n'inspecte pas les objets et les transmet (ou toute exception) à l'émetteur de la requête.