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
אפשר לעיין במסמכי התיעוד של createHttpProxy כדי להבין איך CronetEngine מחליט אם ליצור מנהרה דרך שרת proxy של HTTP.

סיכום

סוגי רכיבים שהוצבו בתוך רכיבים אחרים

פעולות שאפשר לבצע בתגובה לקריאה של onResponseReceived.

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

מייצג בקשת HTTP CONNECT שנשלחת לשרת ה-proxy.

ערכים קבועים

static final int

הפעולה הזו סוגרת את חיבור המנהרה ומונעת את השימוש בו לשליחת בקשות HTTP.

static final int

המערכת ממשיכה ליצור מנהרה.

‫constructors ציבוריים

‫methods ציבוריים

abstract void

הפונקציה נקראת לפני שליחת בקשת HTTP CONNECT לשרת ה-proxy כדי ליצור מנהרה.

abstract int

הפונקציה מופעלת אחרי קבלת תגובה לבקשת HTTP CONNECT שנשלחה לשרת ה-proxy כדי ליצור מנהרה.

ערכים קבועים

RESPONSE_ACTION_CLOSE

public static final int RESPONSE_ACTION_CLOSE = 0

הפעולה הזו סוגרת את חיבור המנהרה ומונעת את השימוש בו לשליחת בקשות HTTP.

כשחיבור מנהרה נסגר, CronetEngine מפרש את זה ככישלון בשימוש ב-Proxy המשויך. לאחר מכן, CronetEngine ינסה את Proxy הבא ברשימה שהועברה אל ProxyOptions (מידע נוסף זמין במסמכי התיעוד של המחלקה הזו).

RESPONSE_ACTION_PROCEED

public static final int RESPONSE_ACTION_PROCEED = 1

המערכת ממשיכה ליצור מנהרה.

הפעולה הזו לא מבטיחה שהמנהרה תוקם בהצלחה ושהיא תשמש לשליחת בקשות HTTP: ‏ CronetEngine יבצע בדיקות נוספות לפני כן. בהתאם לתוצאות, יכול להיות ש-CronetEngine עדיין יחליט לסגור את חיבור המנהרה. אם חיבור המנהרה ייסגר על ידי CronetEngine, זה ייחשב ככישלון בשימוש ב-Proxy המשויך. לאחר מכן, CronetEngine ינסה את Proxy הבא ברשימה שהועברה אל ProxyOptions (מידע נוסף זמין בתיעוד של המחלקה הזו)

‫constructors ציבוריים

HttpConnectCallback

public HttpConnectCallback()

‫methods ציבוריים

onBeforeRequest

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

הפונקציה נקראת לפני שליחת בקשת HTTP CONNECT לשרת ה-proxy כדי ליצור מנהרה.

ההגדרה מאפשרת לשנות את הבקשה או לבטל אותה לפני שליחתה לשרת ה-proxy. במאמר Request מוסבר איך אפשר לשנות או לבטל בקשה.

פרמטרים
@NonNull Proxy.HttpConnectCallback.Request request

מייצג את בקשת ה-HTTP CONNECT שתשלח ל-proxy.

onResponseReceived

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

הפונקציה מופעלת אחרי קבלת תגובה לבקשת HTTP CONNECT שנשלחה לשרת ה-proxy כדי ליצור מנהרה. מאפשרת לקרוא כותרות וקוד סטטוס.

כששולחים בקשות HTTP ליעד עם סכימת URI של https, ‏ CronetEngine אף פעם לא ישתמש בשרת proxy שלא הופעל בו הקריאה החוזרת onResponseReceived.

הפונקציה הזו לא תופעל עבור בקשות HTTP שיעברו דרך המנהרה אחרי שהיא תוקם.

אם השיטה הזו מחזירה java.lang.Throwable, גורל המנהרה יהיה כמו במקרה שבו הוחזר RESPONSE_ACTION_CLOSE (ה-java.lang.Throwable לא יתפס).

פרמטרים
@NonNull List<Pair<StringString>> responseHeaders

רשימת הכותרות שכלולות בתגובה לבקשת HTTP CONNECT.

int statusCode

קוד הסטטוס של HTTP שמופיע בתגובה לבקשת HTTP CONNECT.

החזרות
int

ערך OnResponseReceivedAction שמייצג את הפעולה שצריך לבצע בחיבור המנהרה הזה. אפשר לעיין בOnResponseReceivedActionמסמכים.