ImplicitFlowControlCallback

abstract class ImplicitFlowControlCallback : UrlRequest.Callback

알려진 직접 서브클래스
InMemoryTransformCronetCallback

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

알려진 간접 하위 클래스
ByteArrayCronetCallback

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

JsonCronetCallback

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

StringCronetCallback

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


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

요약

공개 생성자

공개 함수

Unit
onCanceled(request: UrlRequest!, info: UrlResponseInfo!)

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

Unit
onFailed(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    error: CronetException!
)

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

Unit
onReadCompleted(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    byteBuffer: ByteBuffer!
)

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

Unit
onRedirectReceived(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    newLocationUrl: String!
)

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

Unit

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

Unit
onSucceeded(request: UrlRequest!, info: UrlResponseInfo!)

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

보호된 함수

abstract Unit

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

abstract Unit

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

abstract Unit
onFailed(info: UrlResponseInfo?, exception: CronetException!)

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

abstract Unit

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

abstract Unit

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

abstract Boolean
shouldFollowRedirect(info: UrlResponseInfo!, newLocationUrl: String!)

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

공개 생성자

ImplicitFlowControlCallback

ImplicitFlowControlCallback()

공개 함수

onCanceled

fun onCanceled(request: UrlRequest!, info: UrlResponseInfo!): Unit

cancel를 통해 요청이 취소된 경우 호출됩니다. 호출되면 다른 Callback 메서드는 호출되지 않습니다. 기본 구현은 아무 작업도 수행하지 않습니다.

매개변수
request: UrlRequest!

취소된 요청입니다.

info: UrlResponseInfo!

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

onFailed

fun onFailed(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    error: CronetException!
): Unit

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

매개변수
request: UrlRequest!

실패한 요청입니다.

info: UrlResponseInfo!

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

error: CronetException!

오류에 관한 정보입니다.

onReadCompleted

fun onReadCompleted(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    byteBuffer: ByteBuffer!
): Unit

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

매개변수
request: UrlRequest!

수신된 데이터를 요청합니다.

info: UrlResponseInfo!

응답 정보입니다.

byteBuffer: ByteBuffer!

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

생성 값
java.lang.Exception

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

onRedirectReceived

fun onRedirectReceived(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    newLocationUrl: String!
): Unit

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

매개변수
request: UrlRequest!

리디렉션 요청

info: UrlResponseInfo!

응답 정보입니다.

newLocationUrl: String!

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

생성 값
java.lang.Exception

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

onResponseStarted

fun onResponseStarted(request: UrlRequest!, info: UrlResponseInfo!): Unit

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

매개변수
request: UrlRequest!

응답을 받기 시작한 요청입니다.

info: UrlResponseInfo!

응답 정보입니다.

생성 값
java.lang.Exception

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

onSucceeded

fun onSucceeded(request: UrlRequest!, info: UrlResponseInfo!): Unit

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

매개변수
request: UrlRequest!

성공한 요청입니다.

info: UrlResponseInfo!

응답 정보입니다.

보호된 함수

onBodyChunkRead

protected abstract fun onBodyChunkRead(info: UrlResponseInfo!, bodyChunk: ByteBuffer!): Unit

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

매개변수
info: UrlResponseInfo!

응답 정보입니다.

bodyChunk: ByteBuffer!

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

생성 값
java.lang.Exception

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

onCanceled

protected abstract fun onCanceled(info: UrlResponseInfo?): Unit

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

매개변수
info: UrlResponseInfo?

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

onFailed

protected abstract fun onFailed(info: UrlResponseInfo?, exception: CronetException!): Unit

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

매개변수
info: UrlResponseInfo?

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

exception: CronetException!

오류에 관한 정보입니다.

onResponseStarted

protected abstract fun onResponseStarted(info: UrlResponseInfo!): Unit

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

매개변수
info: UrlResponseInfo!

응답 정보입니다.

생성 값
java.lang.Exception

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

onSucceeded

protected abstract fun onSucceeded(info: UrlResponseInfo!): Unit

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

매개변수
info: UrlResponseInfo!

응답 정보입니다.

shouldFollowRedirect

protected abstract fun shouldFollowRedirect(info: UrlResponseInfo!, newLocationUrl: String!): Boolean

리디렉션이 발생할 때마다 호출됩니다. 이는 startonResponseStarted() 호출 사이에만 호출됩니다. 리디렉션 응답의 본문이 있는 경우 무시됩니다.

매개변수
info: UrlResponseInfo!

응답 정보입니다.

newLocationUrl: String!

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

반환
Boolean

리디렉션을 따라야 하는 경우 true, 요청을 취소해야 하는 경우 false입니다.

생성 값
java.lang.Exception

리디렉션을 처리하는 동안 오류가 발생하면 onFailed가 호출되고 발생한 예외가 CallbackException의 원인으로 설정됩니다.