InMemoryTransformCronetCallback

abstract class InMemoryTransformCronetCallback<T> : 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

Fonctions publiques

ImplicitFlowControlCallback!

Ajoute un écouteur de fin.

Fonctions protégées

Unit

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

Unit

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

Unit
onFailed(info: UrlResponseInfo?, exception: CronetException!)

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

Unit

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

Unit

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

abstract T!

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

Fonctions héritées

From org.chromium.net.apihelpers.ImplicitFlowControlCallback
Unit
onCanceled(request: UrlRequest!, info: UrlResponseInfo!)

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

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

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

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

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

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

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

Unit

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

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

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

abstract Boolean
shouldFollowRedirect(info: UrlResponseInfo!, newLocationUrl: String!)

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

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

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

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

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

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

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

Constructeurs publics

InMemoryTransformCronetCallback

InMemoryTransformCronetCallback()

Fonctions publiques

addCompletionListener

fun addCompletionListener(listener: CronetRequestCompletionListener<T!>!): ImplicitFlowControlCallback!

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

Fonctions protégées

onBodyChunkRead

protected fun onBodyChunkRead(info: UrlResponseInfo!, bodyChunk: ByteBuffer!): Unit

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
info: UrlResponseInfo!

Informations sur la réponse.

bodyChunk: ByteBuffer!

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 fun onCanceled(info: UrlResponseInfo?): Unit

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
info: UrlResponseInfo?

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

onFailed

protected fun onFailed(info: UrlResponseInfo?, exception: CronetException!): Unit

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
info: UrlResponseInfo?

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

exception: CronetException!

informations sur l'erreur.

onResponseStarted

protected fun onResponseStarted(info: UrlResponseInfo!): Unit

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

onSucceeded

protected fun onSucceeded(info: UrlResponseInfo!): Unit

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
info: UrlResponseInfo!

Informations sur la réponse.

transformBodyBytes

protected abstract fun transformBodyBytes(info: UrlResponseInfo!, bodyBytes: ByteArray!): T!

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.