فراخوانی کنترل جریان ضمنی (ImplicitFlowControlCallback)

abstract class ImplicitFlowControlCallback : UrlRequest.Callback

زیرکلاس‌های مستقیم شناخته‌شده InMemoryTransformCronetCallback
InMemoryTransformCronetCallback

یک فراخوانی انتزاعی Cronet که کل بدنه را از حافظه می‌خواند و به صورت اختیاری بدنه را قبل از ارسال به صادرکننده درخواست HTTP، deserialize می‌کند.

زیرکلاس‌های غیرمستقیم شناخته‌شده ByteArrayCronetCallback ، JsonCronetCallback ، StringCronetCallback
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
onBodyChunkRead (info: UrlResponseInfo !, bodyChunk: ByteBuffer !)

هر زمان که بخشی از بدنه پاسخ خوانده شود، فراخوانی می‌شود.

abstract Unit

در صورتی که درخواست از طریق cancel لغو شده باشد، فراخوانی می‌شود.

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

اگر درخواست به هر دلیلی پس از start ناموفق باشد، فراخوانی می‌شود.

abstract Unit

زمانی فراخوانی می‌شود که آخرین مجموعه هدرها، پس از تمام تغییر مسیرها، دریافت شود.

abstract Unit

زمانی که درخواست با موفقیت انجام شود، فراخوانی می‌شود.

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

هر زمان که با یک تغییر مسیر مواجه شویم، فراخوانی می‌شود.

سازندگان عمومی

فراخوانی کنترل جریان ضمنی (ImplicitFlowControlCallback)

ImplicitFlowControlCallback()

کارکردهای عمومی

لغو شد

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

در صورتی که درخواست از طریق cancel لغو شده باشد، فراخوانی می‌شود. پس از فراخوانی، هیچ متد Callback دیگری فراخوانی نخواهد شد. پیاده‌سازی پیش‌فرض هیچ اقدامی انجام نمی‌دهد.

پارامترها
request: UrlRequest !

درخواستی که لغو شد.

info: UrlResponseInfo !

اطلاعات پاسخ. در صورت عدم دریافت پاسخ، ممکن است null باشد.

در ناموفق

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

اگر درخواست به هر دلیلی پس از start با شکست مواجه شود، فراخوانی می‌شود. پس از فراخوانی، هیچ متد Callback دیگری فراخوانی نخواهد شد. error اطلاعاتی در مورد شکست ارائه می‌دهد.

پارامترها
request: UrlRequest !

درخواستی که ناموفق بود.

info: UrlResponseInfo !

اطلاعات پاسخ. در صورت عدم دریافت پاسخ، ممکن است null باشد.

error: CronetException !

اطلاعات مربوط به خطا.

روی خوانده شده کامل شد

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 تنظیم می‌شود.

موفق شد

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 تنظیم شده است، فراخوانی می‌شود.

لغو شد

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

در صورتی که درخواست از طریق cancel لغو شده باشد، فراخوانی می‌شود. پس از فراخوانی، هیچ متد UrlRequest.Callback دیگری فراخوانی نخواهد شد.

پارامترها
info: UrlResponseInfo ?

اطلاعات پاسخ. در صورت عدم دریافت پاسخ، ممکن است null باشد.

در ناموفق

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 تنظیم می‌شود.

موفق شد

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 تنظیم شده است، فراخوانی خواهد شد.