UrlRequest.Callback

public abstract class UrlRequest.Callback

알려진 직접 서브클래스
ImplicitFlowControlCallback

요청 수명 주기를 관리하는 어려움을 없애고 응답을 완전히 읽도록 자동으로 진행하는 UrlRequest.Callback의 구현입니다.

알려진 간접 하위 클래스
ByteArrayCronetCallback

해석 없이 본문 바이트를 그대로 반환하는 InMemoryTransformCronetCallback의 전문화입니다.

InMemoryTransformCronetCallback

전체 본문을 메모리로 읽고 HTTP 요청의 발급자에게 다시 전달하기 전에 선택적으로 본문을 역직렬화하는 추상 Cronet 콜백입니다.

JsonCronetCallback

응답 본문을 JSON으로 해석하는 InMemoryTransformCronetCallback의 전문화입니다.

StringCronetCallback

응답 본문을 문자열로 해석하는 InMemoryTransformCronetCallback의 전문화입니다.


Cronet 사용자는 이 클래스를 확장하여 처리 중인 UrlRequest의 진행률을 나타내는 콜백을 수신합니다. 이 클래스의 인스턴스는 UrlRequest.Builder를 구성할 때 UrlRequest의 생성자에 전달됩니다.

참고: 모든 메서드는 UrlRequest를 구성하는 동안 사용된 java.util.concurrent.Executor의 스레드에서 호출됩니다.

요약

공개 생성자

공개 메서드

void

cancel을 통해 요청이 취소된 경우 호출됩니다.

abstract void
onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

start 후 어떤 이유로든 요청이 실패한 경우 호출됩니다.

abstract void
onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

응답 본문의 일부를 읽을 때마다 호출됩니다.

abstract void
onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

리디렉션이 발생할 때마다 호출됩니다.

abstract void

모든 리디렉션 후 헤더의 최종 집합이 수신될 때 호출됩니다.

abstract void

요청이 성공적으로 완료되면 호출됩니다.

공개 생성자

콜백

public Callback()

공개 메서드

onCanceled

public void onCanceled(UrlRequest request, UrlResponseInfo info)

cancel을 통해 요청이 취소된 경우 호출됩니다. 호출된 후에는 다른 Callback 메서드가 호출되지 않습니다. 기본 구현은 아무런 조치를 취하지 않습니다.

매개변수
UrlRequest request

취소된 요청입니다.

UrlResponseInfo info

응답 정보입니다. 응답이 수신되지 않은 경우 null일 수 있습니다.

onFailed

public abstract void onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

start 후 어떤 이유로든 요청이 실패한 경우 호출됩니다. 호출된 후에는 다른 Callback 메서드가 호출되지 않습니다. error는 실패에 관한 정보를 제공합니다.

매개변수
UrlRequest request

실패한 요청입니다.

UrlResponseInfo info

응답 정보입니다. 응답이 수신되지 않은 경우 null일 수 있습니다.

CronetException error

오류에 관한 정보입니다.

onReadCompleted

public abstract void onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

응답 본문의 일부를 읽을 때마다 호출됩니다. 전체 응답 본문이 아직 사용되지 않았더라도 버퍼의 일부만 채워질 수 있습니다. onCanceled()를 제외하고 UrlRequest.read()가 호출되어 응답 본문을 계속 읽으려고 시도할 때까지 onSucceeded()onFailed()를 비롯한 다른 Callback 메서드는 요청에 대해 호출되지 않습니다.

매개변수
UrlRequest request

데이터를 수신한 요청입니다.

UrlResponseInfo info

응답 정보입니다.

ByteBuffer byteBuffer

UrlRequest.read()에 전달된 버퍼로, 이제 수신된 데이터가 포함되어 있습니다. 버퍼의 위치는 수신된 데이터의 끝으로 업데이트됩니다. 버퍼의 한도는 변경되지 않습니다.

생성 값
java.lang.Exception

읽기 완료를 처리하는 중에 오류가 발생한 경우입니다. 생성된 예외가 CallbackException의 원인으로 설정된 상태로 onFailed가 호출됩니다.

onRedirectReceived

public abstract void onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

리디렉션이 발생할 때마다 호출됩니다. 이는 start 호출과 onResponseStarted() 사이에서만 호출됩니다. 리디렉션 응답의 본문이 있는 경우 무시됩니다. 리디렉션은 URLRequest의 followRedirect 메서드가 동기식 또는 비동기식으로 호출될 때까지 따르지 않습니다.

매개변수
UrlRequest request

리디렉션되는 요청입니다.

UrlResponseInfo info

응답 정보입니다.

String newLocationUrl

요청이 리디렉션되는 위치입니다.

생성 값
java.lang.Exception

리디렉션을 처리하는 중에 오류가 발생한 경우입니다. 생성된 예외가 CallbackException의 원인으로 설정된 상태로 onFailed가 호출됩니다.

onResponseStarted

public abstract void onResponseStarted(UrlRequest request, UrlResponseInfo info)

모든 리디렉션 후 헤더의 최종 집합이 수신될 때 호출됩니다. 각 요청에 대해 한 번만 호출됩니다. onCanceled()를 제외하고 UrlRequest.read()가 호출되어 응답 본문 읽기를 시작하려고 시도할 때까지 onSucceeded()onFailed()를 비롯한 다른 Callback 메서드는 요청에 대해 호출되지 않습니다.

매개변수
UrlRequest request

응답을 가져오기 시작한 요청입니다.

UrlResponseInfo info

응답 정보입니다.

생성 값
java.lang.Exception

응답 시작을 처리하는 중에 오류가 발생한 경우입니다. 생성된 예외가 CallbackException의 원인으로 설정된 상태로 onFailed가 호출됩니다.

onSucceeded

public abstract void onSucceeded(UrlRequest request, UrlResponseInfo info)

요청이 성공적으로 완료되면 호출됩니다. 호출된 후에는 다른 Callback 메서드가 호출되지 않습니다.

매개변수
UrlRequest request

성공한 요청입니다.

UrlResponseInfo info

응답 정보입니다.