Proxy.HttpConnectCallback

abstract class Proxy.HttpConnectCallback


Kiểm soát các đường hầm được thiết lập thông qua HTTP CONNECT. Tất cả các phương thức sẽ được gọi vào Executor được chỉ định trong createHttpProxy.

Các phương thức trong lớp này chỉ được gọi khi cả hai điều kiện sau đây đều đúng:

- HttpEngine must establish a connection to the destination of an HTTP request
- The destination of the HTTP request has an https URI scheme
Tham khảo tài liệu của createHttpProxy để tìm hiểu cách CronetEngine quyết định có thiết lập một đường hầm thông qua một proxy HTTP hay không.

Tóm tắt

Các loại lồng nhau

Các thao tác có thể được thực hiện để phản hồi khi onResponseReceived được gọi.

Biểu thị một yêu cầu HTTP CONNECT đang được gửi đến máy chủ proxy.

Hằng số

const Int

Đóng kết nối đường hầm, ngăn không cho kết nối này được dùng để gửi các yêu cầu HTTP.

const Int

Tiến hành thiết lập một đường hầm.

Hàm khởi tạo công khai

Hàm công khai

abstract Unit

Được gọi trước khi gửi yêu cầu HTTP CONNECT đến proxy để thiết lập một đường hầm.

abstract Int

Được gọi sau khi nhận được phản hồi cho yêu cầu HTTP CONNECT được gửi đến proxy để thiết lập một đường hầm.

Hằng số

RESPONSE_ACTION_CLOSE

const val RESPONSE_ACTION_CLOSE = 0: Int

Đóng kết nối đường hầm, ngăn không cho kết nối này được dùng để gửi các yêu cầu HTTP.

Khi một kết nối đường hầm bị đóng, CronetEngine sẽ coi đó là lỗi khi sử dụng Proxy được liên kết. Sau đó, CronetEngine sẽ thử Proxy tiếp theo trong danh sách được truyền đến ProxyOptions (hãy tham khảo tài liệu về lớp đó để biết thêm thông tin).

RESPONSE_ACTION_PROCEED

const val RESPONSE_ACTION_PROCEED = 1: Int

Tiến hành thiết lập một đường hầm.

Điều này không đảm bảo rằng đường hầm sẽ được thiết lập và sử dụng thành công để gửi các yêu cầu HTTP: CronetEngine sẽ thực hiện các bước kiểm tra bổ sung trước đó. Tuỳ thuộc vào kết quả, CronetEngine vẫn có thể quyết định đóng kết nối đường hầm. Nếu CronetEngine đóng kết nối đường hầm, thì đó sẽ được coi là không sử dụng được Proxy được liên kết. Sau đó, CronetEngine sẽ thử Proxy tiếp theo trong danh sách được truyền đến ProxyOptions (tham khảo tài liệu về lớp đó để biết thêm thông tin)

Hàm khởi tạo công khai

HttpConnectCallback

HttpConnectCallback()

Hàm công khai

onBeforeRequest

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

Được gọi trước khi gửi yêu cầu HTTP CONNECT đến proxy để thiết lập một đường hầm.

Cho phép thao tác hoặc huỷ yêu cầu đó trước khi gửi đến proxy. Hãy tham khảo Request để tìm hiểu cách chỉnh sửa/huỷ yêu cầu.

Tham số
request: Proxy.HttpConnectCallback.Request

Biểu thị yêu cầu HTTP CONNECT sẽ được gửi đến proxy.

onResponseReceived

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

Được gọi sau khi nhận được phản hồi cho yêu cầu HTTP CONNECT được gửi đến proxy để thiết lập một đường hầm. Cho phép đọc tiêu đề và mã trạng thái.

Khi gửi các yêu cầu HTTP đến một đích đến có lược đồ URI https, CronetEngine sẽ không bao giờ sử dụng một proxy mà lệnh gọi lại onResponseReceived chưa được gọi.

Phương thức này sẽ không được gọi cho các yêu cầu HTTP sẽ đi qua đường hầm sau khi được thiết lập.

Nếu phương thức này gửi bất kỳ java.lang.Throwable nào, thì số phận của đường hầm sẽ như thể RESPONSE_ACTION_CLOSE đã được trả về (java.lang.Throwable sẽ không bị bắt).

Tham số
responseHeaders: (Mutable)List<Pair<String!, String!>!>

Danh sách các tiêu đề có trong phản hồi cho yêu cầu HTTP CONNECT.

statusCode: Int

Mã trạng thái HTTP có trong phản hồi cho yêu cầu HTTP CONNECT.

Giá trị trả về
Int

Giá trị OnResponseReceivedAction đại diện cho việc cần làm với kết nối đường hầm này. Tham khảo tài liệu OnResponseReceivedAction.