प्रॉक्सी

class Proxy


यह एक ऐसी प्रॉक्सी को दिखाता है जिसका इस्तेमाल CronetEngine कर सकता है.

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

खास जानकारी

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

यह नीति, एचटीटीपी CONNECT के ज़रिए बनाए गए टनल को कंट्रोल करती है.

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

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

@Retention(value = RetentionPolicy.SOURCE)
@IntDef(value = )
annotation Proxy.Scheme

प्रॉक्सी तय करते समय इस्तेमाल की जा सकने वाली स्कीम.

कॉन्स्टेंट

const Int

प्रॉक्सी से सादा टेक्स्ट कनेक्शन सेट अप करें.

const Int

प्रॉक्सी से सुरक्षित कनेक्शन स्थापित करें.

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

java-static Proxy
createHttpProxy(
    @Proxy.Scheme scheme: Int,
    host: String,
    port: @IntRange(from = 0, to = 65535) Int,
    executor: Executor,
    callback: Proxy.HttpConnectCallback
)

यह एचटीटीपी प्रॉक्सी बनाता है.

कॉन्स्टेंट

SCHEME_HTTP

const val SCHEME_HTTP = 0: Int

प्रॉक्सी से सादा टेक्स्ट कनेक्शन सेट अप करें.

SCHEME_HTTPS

const val SCHEME_HTTPS = 1: Int

प्रॉक्सी से सुरक्षित कनेक्शन स्थापित करें.

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

createHttpProxy

java-static fun createHttpProxy(
    @Proxy.Scheme scheme: Int,
    host: String,
    port: @IntRange(from = 0, to = 65535) Int,
    executor: Executor,
    callback: Proxy.HttpConnectCallback
): Proxy

यह एचटीटीपी प्रॉक्सी बनाता है.

एचटीटीपी प्रॉक्सी के ज़रिए एचटीटीपी अनुरोध भेजते समय, callback को कॉल किया जाता है या नहीं, यह डेस्टिनेशन की यूआरआई स्कीम पर निर्भर करता है:

  • जिन डेस्टिनेशन के लिए https यूआरआई स्कीम का इस्तेमाल किया जाता है उनके लिए CronetEngine, प्रॉक्सी के ज़रिए टनल बनाता है. यह टनल, एचटीटीपी CONNECT अनुरोध के ज़रिए बनाई जाती है. इस मामले में, टनल बनाने के लिए इस्तेमाल किए गए एचटीटीपी कनेक्ट अनुरोध को कंट्रोल करने के लिए, callback को कॉल किया जाएगा.
  • http यूआरआई स्कीम वाले डेस्टिनेशन के लिए, CronetEngine प्रॉक्सी को एक एचटीटीपी अनुरोध भेजता है. इसमें डेस्टिनेशन का पूरा यूआरआई शामिल होता है. इस मामले में callback को कॉल नहीं किया जाएगा.
पैरामीटर
@Proxy.Scheme scheme: Int

Scheme, host, और port, ये तीनों मिलकर इस प्रॉक्सी की पहचान करते हैं.

host: String

यह ऐसा होस्ट होता है जिसमें वैल्यू मौजूद होती है. यह scheme और port के साथ मिलकर, इस प्रॉक्सी की पहचान करता है.

port: @IntRange(from = 0, to = 65535) Int

यह पोर्ट, scheme और host के साथ मिलकर इस प्रॉक्सी की पहचान करता है. इसकी वैल्यू [0, 65535] के बीच होनी चाहिए.

executor: Executor

एक्ज़ीक्यूटर, जहां callback को शुरू किया जाएगा.

callback: Proxy.HttpConnectCallback

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