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

ملخّص

طُرق وضع التصميم العامة

وظائف عامة

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

يتم استدعاؤها عند إكمال الطلب بنجاح.

طُرق وضع التصميم العامة

Callback

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()، والذي يحتوي الآن على البيانات المستلَمة يتم تعديل موضع المخزن المؤقت إلى نهاية البيانات المستلَمة. لا يتم تغيير حدّ المخزن المؤقت.

عمليات الطرح
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!

الموقع الجغرافي الذي تتم إعادة توجيه الطلب إليه

عمليات الطرح
java.lang.Exception

إذا حدث خطأ أثناء معالجة عملية إعادة التوجيه سيتم استدعاء onFailed مع ضبط الاستثناء الذي تم طرحه كسبب لـ CallbackException.

onResponseStarted

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

يتم استدعاؤها عند تلقّي المجموعة النهائية من العناوين بعد جميع عمليات إعادة التوجيه. لن يتم استدعاؤها إلا مرة واحدة لكل طلب. باستثناء onCanceled()، لن يتم استدعاء أي طريقة أخرى من طرق Callback للطلب، بما في ذلك onSucceeded() وonFailed()، إلى أن يتم استدعاء UrlRequest.read() لمحاولة بدء قراءة نص الردّ.

المعلَمات
request: UrlRequest!

الطلب الذي بدأ في تلقّي الردّ

info: UrlResponseInfo!

معلومات الردّ

عمليات الطرح
java.lang.Exception

إذا حدث خطأ أثناء معالجة بدء الردّ سيتم استدعاء onFailed مع ضبط الاستثناء الذي تم طرحه كسبب لـ CallbackException.

onSucceeded

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

يتم استدعاؤها عند إكمال الطلب بنجاح. بعد استدعاء هذه الطريقة، لن يتم استدعاء أي طريقة أخرى من طرق Callback.

المعلَمات
request: UrlRequest!

الطلب الذي تم بنجاح

info: UrlResponseInfo!

معلومات الردّ