درخواست آدرس.فراخوانی

abstract class UrlRequest.Callback

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

پیاده‌سازی UrlRequest.Callback که دشواری مدیریت چرخه حیات درخواست را از بین می‌برد و به طور خودکار به خواندن کامل پاسخ می‌پردازد.

زیرکلاس‌های غیرمستقیم شناخته‌شده عبارتند از ByteArrayCronetCallback ، InMemoryTransformCronetCallback ، JsonCronetCallback ، StringCronetCallback
ByteArrayCronetCallback

نوعی از InMemoryTransformCronetCallback که بایت‌های بدنه را کلمه به کلمه و بدون هیچ تفسیری برمی‌گرداند.

InMemoryTransformCronetCallback

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

JsonCronetCallback

نوعی از InMemoryTransformCronetCallback که بدنه پاسخ را به صورت JSON تفسیر می‌کند.

StringCronetCallback

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


کاربران Cronet این کلاس را برای دریافت callbackهایی که نشان‌دهنده‌ی پیشرفت پردازش یک UrlRequest در حال انجام است، توسعه می‌دهند. نمونه‌ای از این کلاس هنگام ساخت UrlRequest به سازنده‌ی UrlRequest.Builder ارسال می‌شود.

نکته: تمام متدها در نخ 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()

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

لغو شد

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

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

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

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

info: UrlResponseInfo !

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

در ناموفق

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

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

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

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

info: UrlResponseInfo !

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

error: CronetException !

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

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

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

موفق شد

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

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

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

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

info: UrlResponseInfo !

اطلاعات پاسخ.