Proxy.HttpConnectCallback

public abstract class Proxy.HttpConnectCallback


यह एचटीटीपी CONNECT के ज़रिए बनाए गए टनल को कंट्रोल करता है. 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, एचटीटीपी प्रॉक्सी के ज़रिए टनल बनाना है या नहीं, यह फ़ैसला कैसे लेता है, createHttpProxy का दस्तावेज़ देखें.

खास जानकारी

नेस्ट किए गए टाइप

onResponseReceived को कॉल करने के जवाब में की जा सकने वाली कार्रवाइयां.

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

प्रॉक्सी सर्वर को भेजे जा रहे एचटीटीपी CONNECT अनुरोध के बारे में बताता है.

कॉन्स्टैंट

static final int

टनल कनेक्शन बंद करता है, ताकि इसका इस्तेमाल एचटीटीपी अनुरोध भेजने के लिए न किया जा सके.

static final int

टनल बनाने की प्रोसेस जारी रखता है.

सार्वजनिक कंस्ट्रक्टर

पब्लिक मेथड

abstract void

टनल बनाने के लिए, प्रॉक्सी को एचटीटीपी CONNECT अनुरोध भेजने से पहले कॉल किया जाता है.

abstract int

टनल बनाने के लिए, प्रॉक्सी को भेजे गए एचटीटीपी CONNECT अनुरोध का जवाब मिलने के बाद कॉल किया जाता है.

कॉन्स्टैंट

RESPONSE_ACTION_CLOSE

public static final int RESPONSE_ACTION_CLOSE = 0

टनल कनेक्शन बंद करता है, ताकि इसका इस्तेमाल एचटीटीपी अनुरोध भेजने के लिए न किया जा सके.

टनल कनेक्शन बंद होने पर, CronetEngine इसे, इससे जुड़े Proxy का इस्तेमाल न कर पाने की गड़बड़ी के तौर पर लेगा. इसके बाद, CronetEngine, ProxyOptions को पास की गई सूची में मौजूद अगले Proxy को आज़माएगा. ज़्यादा जानकारी के लिए, उस क्लास का दस्तावेज़ देखें.

RESPONSE_ACTION_PROCEED

public static final int RESPONSE_ACTION_PROCEED = 1

टनल बनाने की प्रोसेस जारी रखता है.

इससे यह पक्का नहीं होता कि टनल बन जाएगा और इसका इस्तेमाल एचटीटीपी अनुरोध भेजने के लिए किया जा सकेगा. CronetEngine, इससे पहले कुछ और जांच करेगा. इन जांच के नतीजों के आधार पर, CronetEngine अब भी टनल कनेक्शन बंद करने का फ़ैसला ले सकता है. अगर CronetEngine, टनल कनेक्शन बंद कर देता है, तो इसे इससे जुड़े Proxy का इस्तेमाल न कर पाने की गड़बड़ी के तौर पर लिया जाएगा. इसके बाद, CronetEngine, ProxyOptions को पास की गई सूची में मौजूद अगले Proxy को आज़माएगा. ज़्यादा जानकारी के लिए, उस क्लास का दस्तावेज़ देखें

सार्वजनिक कंस्ट्रक्टर

HttpConnectCallback

public HttpConnectCallback()

पब्लिक मेथड

onBeforeRequest

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

टनल बनाने के लिए, प्रॉक्सी को एचटीटीपी CONNECT अनुरोध भेजने से पहले कॉल किया जाता है.

इससे, प्रॉक्सी को अनुरोध भेजने से पहले, उसमें बदलाव किया जा सकता है या उसे रद्द किया जा सकता है. अनुरोध में बदलाव करने या उसे रद्द करने का तरीका जानने के लिए, Request देखें.

पैरामीटर
@NonNull Proxy.HttpConnectCallback.Request request

प्रॉक्सी को भेजे जाने वाले एचटीटीपी CONNECT अनुरोध के बारे में बताता है.

onResponseReceived

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

टनल बनाने के लिए, प्रॉक्सी को भेजे गए एचटीटीपी CONNECT अनुरोध का जवाब मिलने के बाद कॉल किया जाता है. इससे हेडर और स्टेटस कोड पढ़ा जा सकता है.

CronetEngine, https यूआरआई स्कीम वाले डेस्टिनेशन को एचटीटीपी अनुरोध भेजते समय, कभी भी ऐसे प्रॉक्सी का इस्तेमाल नहीं करेगा जिसका onResponseReceived कॉलबैक लागू नहीं किया गया है.

यह उन एचटीटीपी अनुरोधों के लिए कॉल नहीं किया जाएगा जो टनल बनने के बाद, उसके ज़रिए भेजे जाएंगे.

अगर इस तरीके से कोई java.lang.Throwable जनरेट होता है, तो टनल का स्टेटस ऐसा होगा जैसे RESPONSE_ACTION_CLOSE लौटाया गया हो. java.lang.Throwable को कैप्चर नहीं किया जाएगा.

पैरामीटर
@NonNull List<Pair<StringString>> responseHeaders

एचटीटीपी CONNECT अनुरोध के जवाब में शामिल हेडर की सूची.

int statusCode

एचटीटीपी CONNECT अनुरोध के जवाब में शामिल एचटीटीपी स्टेटस कोड.

रिटर्न
int

OnResponseReceivedAction की वैल्यू, जो यह बताती है कि इस टनल कनेक्शन के साथ क्या किया जाना चाहिए. OnResponseReceivedAction का दस्तावेज़ देखें.