Proxy.HttpConnectCallback

public 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

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

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

ค่าคงที่

static final int

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

static final int

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

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

เมธอดสาธารณะ

abstract void

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

abstract int

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

ค่าคงที่

RESPONSE_ACTION_CLOSE

public static final int RESPONSE_ACTION_CLOSE = 0

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

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

RESPONSE_ACTION_PROCEED

public static final int RESPONSE_ACTION_PROCEED = 1

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

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

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

HttpConnectCallback

public HttpConnectCallback()

เมธอดสาธารณะ

onBeforeRequest

public abstract void onBeforeRequest(@NonNull Proxy.HttpConnectCallback.Request request)

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

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

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

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

onResponseReceived

@Proxy.HttpConnectCallback.OnResponseReceivedAction
public abstract int onResponseReceived(
    @NonNull List<Pair<StringString>> responseHeaders,
    int statusCode
)

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

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

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

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

พารามิเตอร์
@NonNull List<Pair<StringString>> responseHeaders

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

int statusCode

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

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

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