InMemoryTransformCronetCallback

public abstract class InMemoryTransformCronetCallback<T> extends ImplicitFlowControlCallback

알려진 직접 서브클래스
ByteArrayCronetCallback

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

JsonCronetCallback

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

StringCronetCallback

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


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

요청자는 콜백에 완료 mListener를 추가하여 요청에 관한 업데이트를 구독할 수 있습니다. 요청이 최종 상태에 도달하면 mListeners에 추가 순서대로 알림이 전송됩니다.

매개변수
<T>

응답 본문 유형

요약

공개 생성자

공개 메서드

ImplicitFlowControlCallback

완료 리스너를 추가합니다.

보호된 메서드

final void

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

final void

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

final void

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

final void

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

final void

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

abstract T
transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

일반 전체 본문을 사용자 정의 객체로 변환 (역직렬화)합니다.

상속된 메서드

org.chromium.net.apihelpers.ImplicitFlowControlCallback에서
final void

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

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

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

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

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

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

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

final void

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

final void

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

abstract boolean

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

org.chromium.net.UrlRequest.Callback에서
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
)

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

공개 생성자

InMemoryTransformCronetCallback

public InMemoryTransformCronetCallback()

공개 메서드

addCompletionListener

public ImplicitFlowControlCallback addCompletionListener(CronetRequestCompletionListener<T> listener)

완료 리스너를 추가합니다. 모든 리스너는 요청이 최종 상태에 도달하면 추가된 순서대로 알림을 받습니다. 리스너가 여러 번 추가되면 처음 추가된 시간에 따라 한 번만 호출됩니다.

보호된 메서드

onBodyChunkRead

protected final void onBodyChunkRead(UrlResponseInfo info, ByteBuffer bodyChunk)

응답 본문의 일부를 읽을 때마다 호출됩니다. 전체 응답 본문이 아직 소비되지 않은 경우에도 버퍼의 일부만 채워질 수 있습니다. 버퍼를 읽을 준비가 되었습니다. 버퍼는 내부적으로 재사용되므로 구현 클래스는 버퍼를 저장하거나 이 메서드의 구현 외에 다른 곳에서 사용해서는 안 됩니다.

매개변수
UrlResponseInfo info

응답 정보입니다.

ByteBuffer bodyChunk

수신된 데이터를 포함하는 버퍼로, 읽기 위해 뒤집혀 있습니다.

생성 값
java.lang.Exception

읽기 완료를 처리하는 동안 오류가 발생하면 onFailed가 호출되고 발생한 예외가 CallbackException의 원인으로 설정됩니다.

onCanceled

protected final void onCanceled(@Nullable UrlResponseInfo info)

cancel를 통해 요청이 취소된 경우 호출됩니다. 호출되면 다른 UrlRequest.Callback 메서드는 호출되지 않습니다.

매개변수
@Nullable UrlResponseInfo info

응답 정보입니다. 응답을 받지 못한 경우 null일 수 있습니다.

onFailed

protected final void onFailed(@Nullable UrlResponseInfo info, CronetException exception)

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

매개변수
@Nullable UrlResponseInfo info

응답 정보입니다. 응답을 받지 못한 경우 null일 수 있습니다.

CronetException exception

오류에 관한 정보입니다.

onResponseStarted

protected final void onResponseStarted(UrlResponseInfo info)

모든 리디렉션 후 최종 헤더 집합이 수신될 때 호출됩니다. 각 요청에 대해 한 번만 호출됩니다. 이 메서드가 반환될 때까지 Cronet이 본문 읽기를 시작하지 않는 것이 보장됩니다.

매개변수
UrlResponseInfo info

응답 정보입니다.

생성 값
java.lang.Exception

응답 시작을 처리하는 동안 오류가 발생하면 발생한 예외가 CallbackException의 원인으로 설정되어 onFailed가 호출됩니다.

onSucceeded

protected final void onSucceeded(UrlResponseInfo info)

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

매개변수
UrlResponseInfo info

응답 정보입니다.

transformBodyBytes

protected abstract T transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

일반 전체 본문을 사용자 정의 객체로 변환 (역직렬화)합니다.

구현 클래스가 빈 본문 및 잘못된 형식의 본문과 같은 특이 사례를 적절하게 처리한다고 가정합니다. Cronet은 객체를 검사하지 않고 객체 또는 예외를 요청의 발급자에게 전달합니다.