Proxy.HttpConnectCallback

public 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.

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

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

Hằng số

static final 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.

static final int

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

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

Phương thức công khai

abstract void

Đượ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

public static final int RESPONSE_ACTION_CLOSE = 0

Đó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

public static final int RESPONSE_ACTION_PROCEED = 1

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

public HttpConnectCallback()

Phương thức công khai

onBeforeRequest

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

Đượ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ố
@NonNull Proxy.HttpConnectCallback.Request request

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

onResponseReceived

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

Đượ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ố
@NonNull List<Pair<StringString>> responseHeaders

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

int statusCode

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.