ImplicitFlowControlCallback

abstract class ImplicitFlowControlCallback : UrlRequest.Callback

فئات فرعية مباشرة معروفة
InMemoryTransformCronetCallback

فئة مجرّدة من معاودة الاتصال في Cronet تقرأ النص الكامل إلى الذاكرة وتزيل تسلسله اختياريًا قبل إعادته إلى الجهة التي أصدرت طلب HTTP.

فئات فرعية غير مباشرة معروفة
ByteArrayCronetCallback

هي نوع خاص من InMemoryTransformCronetCallback يعرض وحدات البايت الخاصة بالنص الحرفي بدون أي تفسير.

JsonCronetCallback

تخصّص InMemoryTransformCronetCallback الذي يفسّر نص الاستجابة على أنّه JSON.

StringCronetCallback

نوع فرعي من InMemoryTransformCronetCallback يفسّر نص الاستجابة كسلسلة.


تنفيذ UrlRequest.Callback يزيل صعوبة إدارة دورة حياة الطلب، ويتابع تلقائيًا قراءة الردّ بالكامل.

ملخّص

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

الوظائف العامة

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 Unit

يتم استدعاؤه كلما تم قراءة جزء من نص الرد.

abstract Unit

يتم استدعاء هذا الإجراء إذا تم إلغاء الطلب من خلال cancel.

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

يتم استدعاء هذا الإجراء إذا تعذّر تنفيذ الطلب لأي سبب بعد start.

abstract Unit

يتم استدعاؤه عند تلقّي المجموعة النهائية من العناوين بعد جميع عمليات إعادة التوجيه.

abstract Unit

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

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

يتم استدعاؤه كلما تمت مواجهة عملية إعادة توجيه.

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

ImplicitFlowControlCallback

ImplicitFlowControlCallback()

الوظائف العامة

onCanceled

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

يتم استدعاء هذا الإجراء إذا تم إلغاء الطلب من خلال cancel. بعد استدعاء هذه الدالة، لن يتم استدعاء أي دوال أخرى من Callback. لا يتّخذ التنفيذ التلقائي أي إجراء.

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

طلب تم إلغاؤه

info: UrlResponseInfo!

معلومات الردّ قد تكون null في حال عدم تلقّي أي رد.

onFailed

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

يتم استدعاء هذا الإجراء إذا تعذّر تنفيذ الطلب لأي سبب بعد start. بعد استدعاء هذه الدالة، لن يتم استدعاء أي دوال أخرى من Callback. تقدّم error معلومات عن الخطأ.

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

طلب تعذّر تنفيذه

info: UrlResponseInfo!

معلومات الردّ قد تكون null في حال عدم تلقّي أي رد.

error: CronetException!

معلومات عن الخطأ

onReadCompleted

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

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

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

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

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

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

info: UrlResponseInfo!

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

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

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

onSucceeded

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

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

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

طلب تم تنفيذه بنجاح.

info: UrlResponseInfo!

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

الدوال المحمية

onBodyChunkRead

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

يتم استدعاؤه كلما تم قراءة جزء من نص الرد. قد يتم ملء جزء من المخزن المؤقت فقط، حتى إذا لم يتم استهلاك نص الرد بالكامل بعد. يكون المخزن المؤقت جاهزًا للقراءة. تتم إعادة استخدام المخازن المؤقتة داخليًا، لذا يجب ألا يخزّن الصف المنفِّذ المخزن المؤقت أو يستخدمه في أي مكان آخر غير تنفيذ هذه الطريقة.

المعلَمات
info: UrlResponseInfo!

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

bodyChunk: ByteBuffer!

المخزن المؤقت الذي يحتوي على البيانات المستلَمة، والذي تمّ قلبه للقراءة

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

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

onCanceled

protected abstract fun onCanceled(info: UrlResponseInfo?): Unit

يتم استدعاء هذا الإجراء إذا تم إلغاء الطلب من خلال cancel. بعد استدعاء هذه الدالة، لن يتم استدعاء أي دوال أخرى من UrlRequest.Callback.

المعلَمات
info: UrlResponseInfo?

معلومات الردّ قد تكون null في حال عدم تلقّي أي رد.

onFailed

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

يتم استدعاء هذا الإجراء إذا تعذّر تنفيذ الطلب لأي سبب بعد start. بعد استدعاء هذه الدالة، لن يتم استدعاء أي دوال أخرى من UrlRequest.Callback. تقدّم error معلومات عن الخطأ.

المعلَمات
info: UrlResponseInfo?

معلومات الردّ قد تكون null في حال عدم تلقّي أي رد.

exception: CronetException!

معلومات عن الخطأ

onResponseStarted

protected abstract fun onResponseStarted(info: UrlResponseInfo!): Unit

يتم استدعاؤه عند تلقّي المجموعة النهائية من العناوين بعد جميع عمليات إعادة التوجيه. سيتم استدعاؤه مرة واحدة فقط لكل طلب. ويُضمن عدم بدء Cronet في قراءة النص الأساسي إلا بعد أن تعرض هذه الطريقة النتيجة.

المعلَمات
info: UrlResponseInfo!

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

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

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

onSucceeded

protected abstract fun onSucceeded(info: UrlResponseInfo!): Unit

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

المعلَمات
info: UrlResponseInfo!

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

shouldFollowRedirect

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

يتم استدعاؤه كلما تمت مواجهة عملية إعادة توجيه. سيتم استدعاء هذا الإجراء فقط بين استدعاء start وonResponseStarted(). سيتم تجاهل نص استجابة إعادة التوجيه، إذا كان يتضمّن نصًا.

المعلَمات
info: UrlResponseInfo!

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

newLocationUrl: String!

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

المرتجعات
Boolean

يتم ضبط القيمة على "true" إذا كان يجب اتّباع عملية إعادة التوجيه، وعلى "false" إذا كان يجب إلغاء الطلب.

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

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