प्रॉक्सी

public final class Proxy


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

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

खास जानकारी

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

public abstract class Proxy.HttpConnectCallback

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

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

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

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

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

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

कॉन्स्टैंट

static final int

प्रॉक्सी से, सादे टेक्स्ट वाला कनेक्शन बनाएं.

static final int

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

पब्लिक मेथड

static @NonNull Proxy
createHttpProxy(
    @Proxy.Scheme int scheme,
    @NonNull String host,
    @IntRange(from = 0, to = 65535) int port,
    @NonNull Executor executor,
    @NonNull Proxy.HttpConnectCallback callback
)

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

कॉन्स्टैंट

SCHEME_HTTP

public static final int SCHEME_HTTP = 0

प्रॉक्सी से, सादे टेक्स्ट वाला कनेक्शन बनाएं.

SCHEME_HTTPS

public static final int SCHEME_HTTPS = 1

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

पब्लिक मेथड

createHttpProxy

public static @NonNull Proxy createHttpProxy(
    @Proxy.Scheme int scheme,
    @NonNull String host,
    @IntRange(from = 0, to = 65535) int port,
    @NonNull Executor executor,
    @NonNull Proxy.HttpConnectCallback callback
)

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

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

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

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

@NonNull String host

नॉन-एमटी होस्ट, जो scheme और port के साथ मिलकर इस प्रॉक्सी की पहचान करता है.

@IntRange(from = 0, to = 65535) int port

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

@NonNull Executor executor

वह एक्ज़ीक्यूटर जहां callback को लागू किया जाएगा.

@NonNull Proxy.HttpConnectCallback callback

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