UrlRequest.Callback

abstract class UrlRequest.Callback

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

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

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

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

InMemoryTransformCronetCallback

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

JsonCronetCallback

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

StringCronetCallback

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


משתמשי Cronet מרחיבים את המחלקה הזו כדי לקבל קריאות חוזרות שמציינות את ההתקדמות של UrlRequest שעובר עיבוד. מועבר מופע של המחלקה הזו לקונסטרוקטור של UrlRequest.Builder כשיוצרים את UrlRequest.

הערה: כל השיטות יופעלו בשרשור של java.util.concurrent.Executor שנעשה בו שימוש במהלך הבנייה של UrlRequest.

סיכום

‫constructors ציבוריים

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

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

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

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!
)

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

abstract Unit

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

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

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

‫constructors ציבוריים

התקשרות חזרה

Callback()

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

onCanceled

fun onCanceled(request: UrlRequest!, info: UrlResponseInfo!): Unit

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

פרמטרים
request: UrlRequest!

בקשה שבוטלה.

info: UrlResponseInfo!

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

onFailed

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

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

פרמטרים
request: UrlRequest!

הבקשה שנכשלה.

info: UrlResponseInfo!

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

error: CronetException!

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

onReadCompleted

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

מופעל בכל פעם שחלק מגוף התשובה נקרא. יכול להיות שרק חלק מהמאגר יאוכלס, גם אם גוף התגובה המלא עדיין לא נצרך. למעט onCanceled(), לא תופעל אף שיטה אחרת של Callback עבור הבקשה, כולל onSucceeded() ו-onFailed(), עד שיתבצע קריאה ל-UrlRequest.read() כדי לנסות להמשיך לקרוא את גוף התשובה.

פרמטרים
request: UrlRequest!

בקשה שקיבלה נתונים.

info: UrlResponseInfo!

פרטי התשובה.

byteBuffer: ByteBuffer!

המאגר שהועבר אל UrlRequest.read(), שמכיל עכשיו את הנתונים שהתקבלו. המיקום של המאגר מתעדכן לסוף הנתונים שהתקבלו. המגבלה של המאגר לא משתנה.

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

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

onRedirectReceived

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

מופעל בכל פעם שנתקלים בהפניה אוטומטית. הפונקציה הזו תופעל רק בין הקריאה ל-start לבין הקריאה ל-onResponseStarted(). הסורק יתעלם מגוף התגובה של ההפניה האוטומטית, אם יש כזה. ההפניה האוטומטית לא תתבצע עד שהשיטה followRedirect של URLRequest תיקרא, באופן סינכרוני או אסינכרוני.

פרמטרים
request: UrlRequest!

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

info: UrlResponseInfo!

פרטי התשובה.

newLocationUrl: String!

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

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

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

onResponseStarted

abstract fun onResponseStarted(request: UrlRequest!, info: UrlResponseInfo!): Unit

מופעל כשמתקבלת קבוצת הכותרות הסופית, אחרי כל ההפניות האוטומטיות. הפונקציה תופעל רק פעם אחת לכל בקשה. למעט onCanceled(), לא תופעל אף שיטה אחרת של Callback עבור הבקשה, כולל onSucceeded() ו-onFailed(), עד שיתבצע קריאה ל-UrlRequest.read() כדי לנסות להתחיל לקרוא את גוף התגובה.

פרמטרים
request: UrlRequest!

בקשה שהתחילה לקבל תגובה.

info: UrlResponseInfo!

פרטי התשובה.

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

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

onSucceeded

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

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

פרמטרים
request: UrlRequest!

בקשה שהצליחה.

info: UrlResponseInfo!

פרטי התשובה.