InMemoryTransformCronetCallback

public abstract class InMemoryTransformCronetCallback<T> extends ImplicitFlowControlCallback

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

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

JsonCronetCallback

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

StringCronetCallback

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


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

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

פרמטרים
<T>

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

סיכום

‫constructors ציבוריים

‫methods ציבוריים

ImplicitFlowControlCallback

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

שיטות מוגנות

final void

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

final void

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

final void

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

final void

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

final void

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

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

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

‫methods שעברו בירושה

מתוך org.chromium.net.apihelpers.ImplicitFlowControlCallback
final void

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

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

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

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

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

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

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

final void

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

final void

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

abstract boolean

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

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

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

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

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

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

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

‫constructors ציבוריים

InMemoryTransformCronetCallback

public InMemoryTransformCronetCallback()

‫methods ציבוריים

addCompletionListener

public ImplicitFlowControlCallback addCompletionListener(CronetRequestCompletionListener<T> listener)

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

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

שיטות מוגנות

onBodyChunkRead

protected final void onBodyChunkRead(UrlResponseInfo info, ByteBuffer bodyChunk)

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

פרמטרים
UrlResponseInfo info

פרטי התשובה.

ByteBuffer bodyChunk

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

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

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

onCanceled

protected final void onCanceled(@Nullable UrlResponseInfo info)

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

פרמטרים
@Nullable UrlResponseInfo info

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

onFailed

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

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

פרמטרים
@Nullable UrlResponseInfo info

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

CronetException exception

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

onResponseStarted

protected final void onResponseStarted(UrlResponseInfo info)

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

פרמטרים
UrlResponseInfo info

פרטי התשובה.

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

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

onSucceeded

protected final void onSucceeded(UrlResponseInfo info)

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

פרמטרים
UrlResponseInfo info

פרטי התשובה.

transformBodyBytes

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

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

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