InMemoryTransformCronetCallback

abstract class InMemoryTransformCronetCallback<T> : ImplicitFlowControlCallback

מחלקות משנה ישירות מוכרות
ByteArrayCronetCallback

התמחות של InMemoryTransformCronetCallback שמחזירה את הבייטים של הגוף כלשונם ללא פרשנות.

JsonCronetCallback

התמחות של InMemoryTransformCronetCallback שמפרשת את גוף התגובה כ-JSON.

StringCronetCallback

התמחות של InMemoryTransformCronetCallback שמפרשת את גוף התגובה כמחרוזת.


קריאה חוזרת מופשטת של Cronet שקוראת את כל הגוף לזיכרון, ובאופן אופציונלי מבטלת את הסריאליזציה של הגוף לפני שהיא מעבירה אותו בחזרה למי שהנפיק את בקשת ה-HTTP.

מגיש הבקשה יכול להירשם לקבלת עדכונים לגבי הבקשה על ידי הוספת mListeners להשלמה בקריאה החוזרת. כשהבקשה מגיעה למצב סופי, המערכת מודיעה על כך ל-mListeners לפי סדר ההוספה.

פרמטרים
<T>

סוג גוף התגובה

סיכום

‫constructors ציבוריים

פונקציות ציבוריות

ImplicitFlowControlCallback!

מוסיפה פונקציית completion listener.

פונקציות מוגנות

Unit

מופעל בכל פעם שחלק מגוף התשובה נקרא.

Unit

הפונקציה מופעלת אם הבקשה בוטלה דרך cancel.

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

מופעל אם הבקשה נכשלה מסיבה כלשהי אחרי start.

Unit

מופעל כשמתקבלת קבוצת הכותרות הסופית, אחרי כל ההפניות האוטומטיות.

Unit

מופעל כשהבקשה הושלמה בהצלחה.

abstract T!

הפונקציה מבצעת טרנספורמציה (דה-סריאליזציה) של הגוף הרגיל המלא לאובייקט שמוגדר על ידי המשתמש.

פונקציות שעברו בירושה

מתוך org.chromium.net.apihelpers.ImplicitFlowControlCallback
Unit
onCanceled(request: UrlRequest!, info: UrlResponseInfo!)

הפונקציה מופעלת אם הבקשה בוטלה דרך cancel.

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

מופעל אם הבקשה נכשלה מסיבה כלשהי אחרי start.

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

מופעל בכל פעם שחלק מגוף התשובה נקרא.

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

מופעל בכל פעם שנתקלים בהפניה אוטומטית.

Unit

מופעל כשמתקבלת קבוצת הכותרות הסופית, אחרי כל ההפניות האוטומטיות.

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

מופעל כשהבקשה הושלמה בהצלחה.

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

מופעל בכל פעם שנתקלים בהפניה אוטומטית.

מתוך org.chromium.net.UrlRequest.Callback
abstract Unit
onFailed(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    error: CronetException!
)

מופעל אם הבקשה נכשלה מסיבה כלשהי אחרי start.

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

מופעל בכל פעם שחלק מגוף התשובה נקרא.

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

מופעל בכל פעם שנתקלים בהפניה אוטומטית.

‫constructors ציבוריים

InMemoryTransformCronetCallback

InMemoryTransformCronetCallback()

פונקציות ציבוריות

addCompletionListener

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

מוסיפה פונקציית completion listener. כל המאזינים מקבלים הודעה כשהבקשה מגיעה למצב סופי, לפי סדר ההוספה. אם מוסיפים מאזין כמה פעמים, הוא יופעל רק פעם אחת, לפי הפעם הראשונה שבה הוא נוסף.

עוד באותו הקשר
CronetRequestCompletionListener

פונקציות מוגנות

onBodyChunkRead

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

מופעל בכל פעם שחלק מגוף התשובה נקרא. יכול להיות שרק חלק מהמאגר יאוכלס, גם אם גוף התגובה המלא עדיין לא נצרך. המאגר מוכן לקריאה. המאגרים נמצאים בשימוש חוזר באופן פנימי, ולכן המחלקה שמבצעת את ההטמעה לא צריכה לאחסן את המאגר או להשתמש בו בשום מקום אחר מלבד בהטמעה של השיטה הזו.

פרמטרים
info: UrlResponseInfo!

פרטי התשובה.

bodyChunk: ByteBuffer!

המאגר שמכיל את הנתונים שהתקבלו, הפוך לקריאה.

הקפצת הודעות שגיאה (throw)
java.lang.Exception

אם מתרחשת שגיאה במהלך עיבוד של קריאה שהושלמה. הפונקציה onFailed תיקרא עם החריגה שהושלכה שמוגדרת כסיבה של CallbackException.

onCanceled

protected fun onCanceled(info: UrlResponseInfo?): Unit

הפונקציה מופעלת אם הבקשה בוטלה דרך cancel. אחרי שמפעילים את השיטה הזו, לא מופעלות שיטות אחרות של UrlRequest.Callback.

פרמטרים
info: UrlResponseInfo?

פרטי התשובה. יכול להיות null אם לא התקבלה תשובה.

onFailed

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

מופעל אם הבקשה נכשלה מסיבה כלשהי אחרי start. אחרי שמפעילים את השיטה הזו, לא מופעלות שיטות אחרות של UrlRequest.Callback. error מספק מידע על הכשל.

פרמטרים
info: UrlResponseInfo?

פרטי התשובה. יכול להיות null אם לא התקבלה תשובה.

exception: CronetException!

מידע על השגיאה.

onResponseStarted

protected fun onResponseStarted(info: UrlResponseInfo!): Unit

מופעל כשמתקבלת קבוצת הכותרות הסופית, אחרי כל ההפניות האוטומטיות. הפונקציה תופעל רק פעם אחת לכל בקשה. מובטח ש-Cronet לא יתחיל לקרוא את הגוף עד שהשיטה הזו תחזיר ערך.

פרמטרים
info: UrlResponseInfo!

פרטי התשובה.

הקפצת הודעות שגיאה (throw)
java.lang.Exception

אם מתרחשת שגיאה במהלך עיבוד התחלת התגובה. הפונקציה onFailed תיקרא עם החריגה שהופעלה כסיבה ל-CallbackException.

onSucceeded

protected fun onSucceeded(info: UrlResponseInfo!): Unit

מופעל כשהבקשה הושלמה בהצלחה. אחרי שמפעילים את השיטה הזו, לא מופעלות שיטות אחרות של UrlRequest.Callback.

פרמטרים
info: UrlResponseInfo!

פרטי התשובה.

transformBodyBytes

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

הפונקציה מבצעת טרנספורמציה (דה-סריאליזציה) של הגוף הרגיל המלא לאובייקט שמוגדר על ידי המשתמש.

ההנחה היא שהמחלקות שמטמיעות את הממשק מטפלות במקרים חריגים (כמו גופים ריקים או פגומים) בצורה מתאימה. ‫Cronet לא בודק את האובייקטים ומעביר אותם (או חריגים כלשהם) אל הגורם שהנפיק את הבקשה.