Proxy.HttpConnectCallback

public abstract class Proxy.HttpConnectCallback


تونل‌های ایجاد شده از طریق HTTP CONNECT را کنترل می‌کند. همه متدها روی Executor مشخص شده در createHttpProxy فراخوانی می‌شوند.

متدهای درون این کلاس فقط زمانی فراخوانی می‌شوند که هر دو مورد زیر درست باشند:

- HttpEngine must establish a connection to the destination of an HTTP request
- The destination of the HTTP request has an https URI scheme
برای درک چگونگی تصمیم‌گیری CronetEngine در مورد ایجاد تونل از طریق پروکسی HTTP، به مستندات createHttpProxy مراجعه کنید.

خلاصه

انواع تو در تو

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

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

نشان دهنده ارسال یک درخواست HTTP CONNECT به سرور پروکسی است.

ثابت‌ها

static final int

اتصال تونل را می‌بندد و از ارسال درخواست‌های HTTP توسط آن جلوگیری می‌کند.

static final int

درآمد حاصل از احداث تونل.

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

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

abstract void

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

abstract int

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

ثابت‌ها

پاسخ_عمل_بستن

public static final int RESPONSE_ACTION_CLOSE = 0

اتصال تونل را می‌بندد و از ارسال درخواست‌های HTTP توسط آن جلوگیری می‌کند.

وقتی یک اتصال تونل بسته می‌شود، CronetEngine آن را به عنوان عدم استفاده از Proxy مرتبط تفسیر می‌کند. سپس CronetEngine Proxy بعدی را در لیست ارسال شده به ProxyOptions امتحان می‌کند (برای اطلاعات بیشتر به مستندات آن کلاس مراجعه کنید).

پاسخ_اقدام_ادامه

public static final int RESPONSE_ACTION_PROCEED = 1

درآمد حاصل از احداث تونل.

این تضمین نمی‌کند که تونل با موفقیت برقرار شود و برای ارسال درخواست‌های HTTP استفاده شود: CronetEngine قبل از آن بررسی‌های اضافی انجام خواهد داد. بسته به نتیجه آنها، CronetEngine ممکن است همچنان تصمیم به بستن اتصال تونل بگیرد. اگر اتصال تونل در نهایت توسط CronetEngine بسته شود، به عنوان عدم موفقیت در استفاده از Proxy مرتبط در نظر گرفته می‌شود. CronetEngine سپس Proxy بعدی را در لیست ارسال شده به ProxyOptions امتحان می‌کند (برای اطلاعات بیشتر به مستندات آن کلاس مراجعه کنید).

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

HttpConnectCallback

public HttpConnectCallback()

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

درخواست قبل از

public abstract void onBeforeRequest(@NonNull Proxy.HttpConnectCallback.Request request)

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

امکان دستکاری یا لغو درخواست مذکور قبل از ارسال آن به پروکسی را فراهم می‌کند. برای آشنایی با نحوه دستکاری/لغو درخواست، به Request مراجعه کنید.

پارامترها
@ NonNull Proxy.HttpConnectCallback.Request request

نشان دهنده درخواست HTTP CONNECT است که به پروکسی ارسال خواهد شد.

پاسخ دریافتی

@Proxy.HttpConnectCallback.OnResponseReceivedAction
public abstract int onResponseReceived(
    @NonNull List<Pair<StringString>> responseHeaders,
    int statusCode
)

پس از دریافت پاسخ به درخواست HTTP CONNECT که برای ایجاد تونل به پروکسی ارسال شده است، فراخوانی می‌شود. امکان خواندن هدرها و کد وضعیت را فراهم می‌کند.

هنگام ارسال درخواست‌های HTTP به مقصدی با آدرس https، CronetEngine هرگز از پروکسی‌ای که فراخوانی onResponseReceived آن فراخوانی نشده باشد، استفاده نخواهد کرد.

این برای درخواست‌های HTTP که پس از برقراری تونل از آن عبور می‌کنند، فراخوانی نخواهد شد.

اگر این متد هر java.lang.Throwable را پرتاب کند، سرنوشت تونل مانند زمانی خواهد بود که RESPONSE_ACTION_CLOSE برگردانده شده باشد ( java.lang.Throwable دریافت نخواهد شد).

پارامترها
@ NonNull List < Pair < String , String >> responseHeaders

فهرست هدرهای موجود در پاسخ به درخواست HTTP CONNECT.

int statusCode

کد وضعیت HTTP موجود در پاسخ به درخواست HTTP CONNECT.

بازگشت‌ها
int

یک مقدار OnResponseReceivedAction که نشان دهنده کاری است که باید با این اتصال تونل انجام شود. به مستندات OnResponseReceivedAction مراجعه کنید.