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

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

خلاصه

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

روش‌های عمومی

void

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

abstract void

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

abstract void
onReadCompleted (
UrlRequest request,
UrlResponseInfo info,
ByteBuffer byteBuffer
)

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

abstract void
onRedirectReceived (
UrlRequest request,
UrlResponseInfo info,
String newLocationUrl
)

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

abstract void

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

abstract void

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

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

تماس برگشتی

public Callback()

روش‌های عمومی

لغو شد

public void onCanceled(UrlRequest request, UrlResponseInfo info)

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

پارامترها
UrlRequest request

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

UrlResponseInfo info

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

در ناموفق

public abstract void onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

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

پارامترها
UrlRequest request

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

UrlResponseInfo info

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

CronetException error

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

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

public abstract void onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

هر زمان که بخشی از بدنه پاسخ خوانده شده باشد، فراخوانی می‌شود. فقط بخشی از بافر می‌تواند پر شود، حتی اگر کل بدنه پاسخ هنوز مصرف نشده باشد. به استثنای onCanceled() ، هیچ متد Callback دیگری برای درخواست، از جمله onSucceeded() و onFailed() ، تا زمانی که UrlRequest.read() برای ادامه خواندن بدنه پاسخ فراخوانی نشود، فراخوانی نخواهد شد.

پارامترها
UrlRequest request

درخواست دریافت داده‌ها.

UrlResponseInfo info

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

ByteBuffer byteBuffer

بافری که به UrlRequest.read() ارسال شده بود، اکنون حاوی داده‌های دریافتی است. موقعیت بافر تا انتهای داده‌های دریافتی به‌روزرسانی می‌شود. محدودیت بافر تغییر نمی‌کند.

پرتاب‌ها
java.lang.Exception

اگر هنگام پردازش تکمیل خواندن خطایی رخ دهد، onFailed با استثنای پرتاب‌شده که به عنوان علت CallbackException تنظیم شده است، فراخوانی می‌شود.

onRedirectReceived

public abstract void onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

هر زمان که با یک تغییر مسیر مواجه شویم، فراخوانی می‌شود. این فقط بین فراخوانی start و onResponseStarted() فراخوانی می‌شود. بدنه پاسخ تغییر مسیر، در صورت وجود، نادیده گرفته می‌شود. تغییر مسیر تا زمانی که متد followRedirect مربوط به URLRequest فراخوانی نشود، چه به صورت همزمان و چه به صورت غیرهمزمان، دنبال نخواهد شد.

پارامترها
UrlRequest request

درخواست در حال تغییر مسیر است.

UrlResponseInfo info

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

String newLocationUrl

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

پرتاب‌ها
java.lang.Exception

اگر هنگام پردازش یک تغییر مسیر خطایی رخ دهد، onFailed با استثنای پرتاب‌شده‌ای که به عنوان علت CallbackException تنظیم شده است، فراخوانی خواهد شد.

onResponseStarted

public abstract void onResponseStarted(UrlRequest request, UrlResponseInfo info)

زمانی که آخرین مجموعه هدرها، پس از تمام تغییر مسیرها، دریافت شود، فراخوانی می‌شود. فقط یک بار برای هر درخواست فراخوانی می‌شود. به استثنای onCanceled() ، هیچ متد Callback دیگری برای درخواست، از جمله onSucceeded() و onFailed() ، تا زمانی که UrlRequest.read() برای شروع خواندن بدنه پاسخ فراخوانی نشود، فراخوانی نخواهد شد.

پارامترها
UrlRequest request

درخواستی که شروع به دریافت پاسخ کرد.

UrlResponseInfo info

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

پرتاب‌ها
java.lang.Exception

اگر هنگام پردازش پاسخ خطایی رخ دهد، onFailed فراخوانی می‌شود و استثنای پرتاب‌شده به عنوان علت CallbackException تنظیم می‌شود.

موفق شد

public abstract void onSucceeded(UrlRequest request, UrlResponseInfo info)

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

پارامترها
UrlRequest request

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

UrlResponseInfo info

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