Proxy.HttpConnectCallback

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

खास जानकारी

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

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

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

कॉन्स्टेंट

const Int

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

const Int

यह टनल बनाने की प्रोसेस शुरू करता है.

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

सार्वजनिक फ़ंक्शन

abstract Unit

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

abstract Int

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

कॉन्स्टेंट

RESPONSE_ACTION_CLOSE

const val RESPONSE_ACTION_CLOSE = 0: Int

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

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

RESPONSE_ACTION_PROCEED

const val RESPONSE_ACTION_PROCEED = 1: Int

यह टनल बनाने की प्रोसेस शुरू करता है.

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

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

HttpConnectCallback

HttpConnectCallback()

सार्वजनिक फ़ंक्शन

onBeforeRequest

abstract fun onBeforeRequest(request: Proxy.HttpConnectCallback.Request): Unit

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

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

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

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

onResponseReceived

@Proxy.HttpConnectCallback.OnResponseReceivedAction
abstract fun onResponseReceived(
    responseHeaders: (Mutable)List<Pair<String!, String!>!>,
    statusCode: Int
): Int

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

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

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

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

पैरामीटर
responseHeaders: (Mutable)List<Pair<String!, String!>!>

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

statusCode: Int

एचटीटीपी कनेक्ट अनुरोध के जवाब में मौजूद एचटीटीपी स्टेटस कोड.

रिटर्न
Int

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