প্রক্সি.এইচটিটিপিকানেক্টকলব্যাক

abstract class Proxy.HttpConnectCallback


HTTP CONNECT-এর মাধ্যমে স্থাপিত টানেলগুলো নিয়ন্ত্রণ করে। সমস্ত মেথড createHttpProxy তে নির্দিষ্ট করা Executor-এর উপর প্রয়োগ করা হবে।

এই ক্লাসের অন্তর্ভুক্ত মেথডগুলো শুধুমাত্র তখনই কল করা হয় যখন নিম্নলিখিত উভয় শর্তই সত্য হয়:

- HttpEngine must establish a connection to the destination of an HTTP request
- The destination of the HTTP request has an https URI scheme
ক্রোনেটইঞ্জিন কীভাবে একটি HTTP প্রক্সির মাধ্যমে টানেল স্থাপন করার সিদ্ধান্ত নেয়, তা বোঝার জন্য createHttpProxy এর ডকুমেন্টেশন দেখুন।

সারসংক্ষেপ

নেস্টেড প্রকার

onResponseReceived কল হওয়ার প্রতিক্রিয়ায় যে কাজগুলো করা যেতে পারে।

এটি প্রক্সি সার্ভারে পাঠানো একটি HTTP CONNECT অনুরোধকে বোঝায়।

ধ্রুবক

const Int

টানেল সংযোগটি বন্ধ করে দেয়, ফলে এটি HTTP অনুরোধ পাঠানোর জন্য ব্যবহার করা যায় না।

const Int

একটি সুড়ঙ্গ নির্মাণের কাজ শুরু হয়।

সরকারি নির্মাণকারী

জনসাধারণের কার্যাবলী

abstract Unit

টানেল স্থাপনের জন্য প্রক্সিতে HTTP CONNECT অনুরোধ পাঠানোর আগে এটি কল করা হয়।

abstract Int

টানেল স্থাপনের জন্য প্রক্সিতে পাঠানো HTTP CONNECT অনুরোধের প্রতিক্রিয়া পাওয়ার পর এটিকে কল করা হয়।

ধ্রুবক

প্রতিক্রিয়া_কর্ম_বন্ধ

const val RESPONSE_ACTION_CLOSE = 0: Int

টানেল সংযোগটি বন্ধ করে দেয়, ফলে এটি HTTP অনুরোধ পাঠানোর জন্য ব্যবহার করা যায় না।

যখন একটি টানেল সংযোগ বন্ধ হয়ে যায়, তখন CronetEngine এটিকে সংশ্লিষ্ট Proxy ব্যবহারে ব্যর্থতা হিসেবে গণ্য করে। এরপর CronetEngine, ProxyOptions এ পাঠানো তালিকা থেকে পরবর্তী Proxy চেষ্টা করে (আরও তথ্যের জন্য ঐ ক্লাসের ডকুমেন্টেশন দেখুন)।

প্রতিক্রিয়া_কার্যক্রম_এগিয়ে_যাও

const val RESPONSE_ACTION_PROCEED = 1: Int

একটি সুড়ঙ্গ নির্মাণের কাজ শুরু হয়।

এটি এই নিশ্চয়তা দেয় না যে টানেলটি সফলভাবে স্থাপিত হবে এবং HTTP অনুরোধ পাঠানোর জন্য ব্যবহৃত হবে: এর আগে CronetEngine অতিরিক্ত কিছু যাচাই করবে। সেগুলোর ফলাফলের উপর নির্ভর করে, CronetEngine টানেল সংযোগটি বন্ধ করে দেওয়ার সিদ্ধান্তও নিতে পারে। যদি CronetEngine টানেল সংযোগটি বন্ধ করে দেয়, তবে এটিকে সংশ্লিষ্ট Proxy ব্যবহারের ব্যর্থতা হিসেবে গণ্য করা হবে। এরপর CronetEngine, ProxyOptions এ দেওয়া তালিকার পরবর্তী Proxy চেষ্টা করবে (আরও তথ্যের জন্য ঐ ক্লাসের ডকুমেন্টেশন দেখুন)।

সরকারি নির্মাণকারী

HttpConnectCallback

HttpConnectCallback()

জনসাধারণের কার্যাবলী

অনুরোধের পূর্বে

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

টানেল স্থাপনের জন্য প্রক্সিতে HTTP CONNECT অনুরোধ পাঠানোর আগে এটি কল করা হয়।

প্রক্সিতে পাঠানোর আগে উক্ত অনুরোধটি পরিবর্তন বা বাতিল করার সুযোগ দেয়। কীভাবে একটি অনুরোধ পরিবর্তন বা বাতিল করা যায় তা জানতে ' Request অংশটি দেখুন।

প্যারামিটার
request: Proxy.HttpConnectCallback.Request

এটি সেই HTTP CONNECT অনুরোধকে বোঝায় যা প্রক্সিতে পাঠানো হবে।

প্রতিক্রিয়া প্রাপ্ত

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

টানেল স্থাপনের জন্য প্রক্সিতে পাঠানো HTTP CONNECT অনুরোধের প্রতিক্রিয়া পাওয়ার পর এটি কল করা হয়। এর মাধ্যমে হেডার এবং স্ট্যাটাস কোড পড়া যায়।

https URI স্কিমযুক্ত কোনো গন্তব্যে HTTP অনুরোধ পাঠানোর সময়, CronetEngine এমন কোনো প্রক্সি ব্যবহার করবে না যার onResponseReceived কলব্যাকটি আহ্বান করা হয়নি।

টানেলটি একবার প্রতিষ্ঠিত হয়ে গেলে, এর মধ্য দিয়ে যাওয়া HTTP অনুরোধগুলির জন্য এটি কল করা হবে না।

যদি এই মেথডটি কোনো java.lang.Throwable থ্রো করে, তাহলে টানেলটির পরিণতি এমন হবে যেন RESPONSE_ACTION_CLOSE রিটার্ন করা হয়েছে ( java.lang.Throwable টি ক্যাচ করা হবে না)।

প্যারামিটার
responseHeaders: ( Mutable ) List < Pair < String !, String !>!>

HTTP CONNECT অনুরোধের প্রতিক্রিয়ায় অন্তর্ভুক্ত হেডারগুলির তালিকা।

statusCode: Int

HTTP CONNECT অনুরোধের প্রতিক্রিয়ায় অন্তর্ভুক্ত HTTP স্ট্যাটাস কোড।

ফেরত
Int

একটি OnResponseReceivedAction ভ্যালু যা নির্দেশ করে এই টানেল কানেকশনটির সাথে কী করা উচিত। OnResponseReceivedAction ডকুমেন্টেশন দেখুন।