جب Pub/Sub Java gRPC کنکشن کو HTTP CONNECT پراکسی درکار ہو تو تیار کردہ کلائنٹ کا چینل فراہم کنندہ استعمال کریں۔ عام URLConnection سیٹنگ یہ چینل کنفیگریشن قائم نہیں کرتی۔

topic-admin کلائنٹ کے لیے:

var channelProvider = TopicAdminSettings
    .defaultGrpcTransportProviderBuilder()
    .setChannelConfigurator(channel -> channel.proxyDetector(target ->
        HttpConnectProxiedSocketAddress.newBuilder()
            .setProxyAddress(new InetSocketAddress("proxy.example", 8080))
            .setTargetAddress((InetSocketAddress) target)
            .setUsername(proxyUser)
            .setPassword(proxyPassword)
            .build()))
    .build();

var settings = TopicAdminSettings.newBuilder()
    .setTransportChannelProvider(channelProvider)
    .build();
try (TopicAdminClient client = TopicAdminClient.create(settings)) {
    // Perform the application's intended topic-admin operation here.
}

TopicAdminClient اور TopicAdminSettings Pub/Sub v1 کلاسز ہیں؛ HttpConnectProxiedSocketAddress io.grpc سے اور InetSocketAddress java.net سے آتا ہے۔ مثال اسی چینل کے عام انٹرنیٹ پتے کے ہدف کو فرض کرتی ہے۔

ڈیٹیکٹر اصل ہدف کے ساتھ پراکسی کنکشن کا پتہ واپس کرتا ہے۔ gRPC بلڈر کا تقاضا ہے کہ پراکسی پتہ حل شدہ ہو۔ سروس کا اینڈ پوائنٹ Pub/Sub ہی رہنے دیں: اسے پراکسی ہوسٹ نام سے بدلنے پر سروس ہدف اور مطلوبہ TLS شناخت ضائع ہو جائے گی۔

غیر تصدیق شدہ پراکسی کے لیے صارف نام/پاس ورڈ کالز ہٹا دیں؛ عوامی HTTP امیدوار HTTP پراکسی فہرست میں ملتے ہیں۔ یہ کالز HTTP CONNECT اسناد کا انٹرفیس ہیں، SOCKS یا عمومی NTLM عمل درآمد نہیں۔

اگر ناکامی gRPC عمل سے پہلے ہو جبکہ خود مختار طور پر بنائی گئی اسناد کو ٹوکن ملتا ہو، تو ان اسناد کا HTTP راستہ جانچیں۔ یہ یہاں دکھائے گئے چینل فراہم کنندہ سے باہر ہے۔

متعلقہ مضامین