Proxy.HttpConnectCallback

public 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
CronetEngine이 HTTP 프록시를 통해 터널을 설정할지 결정하는 방법을 이해하려면 createHttpProxy 문서를 참고하세요.

요약

중첩된 유형

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 요청에 대한 응답을 받은 후 호출됩니다. 헤더와 상태 코드를 읽을 수 있습니다.

https URI 스키마가 있는 대상으로 HTTP 요청을 보낼 때 CronetEngine은 onResponseReceived 콜백이 호출되지 않은 프록시를 사용하지 않습니다.

터널이 설정되면 터널을 통과하는 HTTP 요청에는 호출되지 않습니다.

이 메서드가 java.lang.Throwable을 발생시키면 터널의 운명은 RESPONSE_ACTION_CLOSE가 반환된 것과 같습니다 (java.lang.Throwable은 포착되지 않음).

매개변수
@NonNull List<Pair<StringString>> responseHeaders

HTTP CONNECT 요청에 대한 응답에 포함된 헤더 목록입니다.

int statusCode

HTTP CONNECT 요청에 대한 응답에 포함된 HTTP 상태 코드입니다.

반환
int

이 터널 연결로 수행해야 하는 작업을 나타내는 OnResponseReceivedAction 값입니다. OnResponseReceivedAction 문서를 참고하세요.