Proxy.HttpConnectCallback

abstract class Proxy.HttpConnectCallback


ควบคุมอุโมงค์ที่สร้างขึ้นผ่าน HTTP CONNECT ระบบจะเรียกใช้เมธอดทั้งหมดใน Executor ที่ระบุไว้ใน createHttpProxy

ระบบจะเรียกใช้เมธอดภายในคลาสนี้ก็ต่อเมื่อเงื่อนไขทั้ง 2 ข้อต่อไปนี้เป็นจริง

- 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 ตัดสินใจว่าจะสร้างอุโมงค์ผ่านพร็อกซี HTTP หรือไม่

สรุป

ประเภทที่ซ้อนกัน

การดำเนินการที่สามารถทำได้เพื่อตอบสนองต่อการเรียกใช้ onResponseReceived

แสดงถึงคำขอ HTTP CONNECT ที่ส่งไปยังพร็อกซีเซิร์ฟเวอร์

ค่าคงที่

const Int

ปิดการเชื่อมต่ออุโมงค์เพื่อไม่ให้ใช้ส่งคำขอ HTTP ได้

const Int

ดำเนินการสร้างอุโมงค์

เครื่องมือสร้างสาธารณะ

ฟังก์ชันสาธารณะ

abstract Unit

เรียกใช้ก่อนส่งคำขอ HTTP CONNECT ไปยังพร็อกซีเพื่อสร้างอุโมงค์

abstract Int

เรียกใช้หลังจากได้รับคำตอบสำหรับคำขอ HTTP CONNECT ที่ส่งไปยังพร็อกซีเพื่อสร้างอุโมงค์

ค่าคงที่

RESPONSE_ACTION_CLOSE

const val RESPONSE_ACTION_CLOSE = 0: Int

ปิดการเชื่อมต่ออุโมงค์เพื่อไม่ให้ใช้ส่งคำขอ HTTP ได้

เมื่อการเชื่อมต่ออุโมงค์ปิดลง CronetEngine จะตีความว่าเป็นการใช้ Proxy ที่เชื่อมโยงกันไม่สำเร็จ จากนั้น CronetEngine จะลองใช้ Proxy รายการถัดไปในรายการที่ส่งไปยัง ProxyOptions (ดูข้อมูลเพิ่มเติมในเอกสารประกอบของคลาสดังกล่าว)

RESPONSE_ACTION_PROCEED

const val RESPONSE_ACTION_PROCEED = 1: Int

ดำเนินการสร้างอุโมงค์

การดำเนินการนี้ไม่ได้รับประกันว่าระบบจะสร้างอุโมงค์และใช้อุโมงค์เพื่อส่งคำขอ HTTP ได้สำเร็จ เนื่องจาก CronetEngine จะทำการตรวจสอบเพิ่มเติมก่อนดำเนินการดังกล่าว CronetEngine อาจยังคงตัดสินใจปิดการเชื่อมต่ออุโมงค์ ทั้งนี้ขึ้นอยู่กับผลการตรวจสอบ หาก CronetEngine ปิดการเชื่อมต่ออุโมงค์ ระบบจะถือว่าเป็นการใช้ Proxy ที่เชื่อมโยงกันไม่สำเร็จ จากนั้น CronetEngine จะลองใช้ Proxy รายการถัดไปในรายการที่ส่งไปยัง ProxyOptions (ดูข้อมูลเพิ่มเติมในเอกสารประกอบของคลาสดังกล่าว)

เครื่องมือสร้างสาธารณะ

HttpConnectCallback

HttpConnectCallback()

ฟังก์ชันสาธารณะ

onBeforeRequest

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

เรียกใช้ก่อนส่งคำขอ HTTP CONNECT ไปยังพร็อกซีเพื่อสร้างอุโมงค์

อนุญาตให้จัดการหรือยกเลิกคำขอดังกล่าวก่อนส่งไปยังพร็อกซี โปรดดู Request เพื่อดูวิธีจัดการ/ยกเลิกคำขอ

พารามิเตอร์
request: Proxy.HttpConnectCallback.Request

แสดงถึงคำขอ HTTP CONNECT ที่จะส่งไปยังพร็อกซี

onResponseReceived

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

เรียกใช้หลังจากได้รับคำตอบสำหรับคำขอ HTTP CONNECT ที่ส่งไปยังพร็อกซีเพื่อสร้างอุโมงค์ อนุญาตให้อ่านส่วนหัวและรหัสสถานะ

เมื่อส่งคำขอ HTTP ไปยังปลายทางที่มี URI สคีมา https CronetEngine จะไม่ใช้พร็อกซีที่มีการเรียกใช้การเรียกกลับ onResponseReceived

ระบบจะไม่เรียกใช้ฟังก์ชันนี้สำหรับคำขอ HTTP ที่จะผ่านอุโมงค์เมื่อสร้างอุโมงค์แล้ว

หากเมธอดนี้แสดง java.lang.Throwable ผลลัพธ์ของอุโมงค์จะเป็นเหมือนกับที่ส่งคืน RESPONSE_ACTION_CLOSE (ระบบจะไม่ดักจับ java.lang.Throwable)

พารามิเตอร์
responseHeaders: (Mutable)List<Pair<String!, String!>!>

รายการส่วนหัวที่มีอยู่ในการตอบกลับคำขอ HTTP CONNECT

statusCode: Int

รหัสสถานะ HTTP ที่มีอยู่ในการตอบกลับคำขอ HTTP CONNECT

การคืนสินค้า
Int

ค่า OnResponseReceivedAction ที่แสดงถึงสิ่งที่ควรทำกับการเชื่อมต่ออุโมงค์นี้ โปรดดูเอกสารประกอบของ OnResponseReceivedAction