Callback
interface Callback
android.net.http.UrlRequest.Callback |
Users of the HTTP stack extend this class to receive callbacks indicating the progress of a UrlRequest
being processed. An instance of this class is passed in to UrlRequest.Builder
's constructor when constructing the UrlRequest
.
Note: All methods will be invoked on the thread of the java.util.concurrent.Executor
used during construction of the UrlRequest
.
Summary
Public methods | |
---|---|
abstract Unit |
onCanceled(request: UrlRequest, info: UrlResponseInfo?) Invoked if request was canceled via |
abstract Unit |
onFailed(request: UrlRequest, info: UrlResponseInfo?, error: HttpException) Invoked if request failed for any reason after |
abstract Unit |
onReadCompleted(request: UrlRequest, info: UrlResponseInfo, byteBuffer: ByteBuffer) Invoked whenever part of the response body has been read. |
abstract Unit |
onRedirectReceived(request: UrlRequest, info: UrlResponseInfo, newLocationUrl: String) Invoked whenever a redirect is encountered. |
abstract Unit |
onResponseStarted(request: UrlRequest, info: UrlResponseInfo) Invoked when the final set of headers, after all redirects, is received. |
abstract Unit |
onSucceeded(request: UrlRequest, info: UrlResponseInfo) Invoked when request is completed successfully. |
Public methods
onCanceled
abstract fun onCanceled(
request: UrlRequest,
info: UrlResponseInfo?
): Unit
Invoked if request was canceled via UrlRequest.cancel
. Once invoked, no other Callback
methods will be invoked. Default implementation takes no action.
Parameters | |
---|---|
request |
UrlRequest: Request that was canceled. This is not guaranteed to be the same object as the one received by other callbacks, nor is it guaranteed to be the one returned by URLRequest.Builder#build. However, method calls on this object will have the same effects as calls on the original URLRequest. This value cannot be null . |
info |
UrlResponseInfo?: Response information. May be null if no response was received. |
onFailed
abstract fun onFailed(
request: UrlRequest,
info: UrlResponseInfo?,
error: HttpException
): Unit
Invoked if request failed for any reason after UrlRequest.start
. Once invoked, no other Callback
methods will be invoked. error
provides information about the failure.
Parameters | |
---|---|
request |
UrlRequest: Request that failed. This is not guaranteed to be the same object as the one received by other callbacks, nor is it guaranteed to be the one returned by URLRequest.Builder#build. However, method calls on this object will have the same effects as calls on the original URLRequest. This value cannot be null . |
info |
UrlResponseInfo?: Response information. May be null if no response was received. |
error |
HttpException: information about error. This value cannot be null . |
onReadCompleted
abstract fun onReadCompleted(
request: UrlRequest,
info: UrlResponseInfo,
byteBuffer: ByteBuffer
): Unit
Invoked whenever part of the response body has been read. Only part of the buffer may be populated, even if the entire response body has not yet been consumed. With the exception of onCanceled()
, no other Callback
method will be invoked for the request, including onSucceeded()
and onFailed()
, until UrlRequest.read()
is called to attempt to continue reading the response body.
Parameters | |
---|---|
request |
UrlRequest: Request that received data. This is not guaranteed to be the same object as the one received by other callbacks, nor is it guaranteed to be the one returned by URLRequest.Builder#build. However, method calls on this object will have the same effects as calls on the original URLRequest. This value cannot be null . |
info |
UrlResponseInfo: Response information. This value cannot be null . |
byteBuffer |
ByteBuffer: The buffer that was passed in to UrlRequest.read() , now containing the received data. The buffer's position is updated to the end of the received data. The buffer's limit is not changed. This value cannot be null . |
Exceptions | |
---|---|
java.lang.Exception |
if an error occurs while processing a read completion. onFailed will be called with the thrown exception set as the cause of the CallbackException . |
onRedirectReceived
abstract fun onRedirectReceived(
request: UrlRequest,
info: UrlResponseInfo,
newLocationUrl: String
): Unit
Invoked whenever a redirect is encountered. This will only be invoked between the call to UrlRequest.start
and onResponseStarted()
. The body of the redirect response, if it has one, will be ignored. The redirect will not be followed until the URLRequest's android.net.http.UrlRequest#followRedirect
method is called, either synchronously or asynchronously.
Parameters | |
---|---|
request |
UrlRequest: Request being redirected. This is not guaranteed to be the same object as the one received by other callbacks, nor is it guaranteed to be the one returned by URLRequest.Builder#build. However, method calls on this object will have the same effects as calls on the original URLRequest. This value cannot be null . |
info |
UrlResponseInfo: Response information. This value cannot be null . |
newLocationUrl |
String: Location where request is redirected. This value cannot be null . |
Exceptions | |
---|---|
java.lang.Exception |
if an error occurs while processing a redirect. onFailed will be called with the thrown exception set as the cause of the CallbackException . |
onResponseStarted
abstract fun onResponseStarted(
request: UrlRequest,
info: UrlResponseInfo
): Unit
Invoked when the final set of headers, after all redirects, is received. Will only be invoked once for each request. With the exception of onCanceled()
, no other Callback
method will be invoked for the request, including onSucceeded()
and onFailed()
, until UrlRequest.read()
is called to attempt to start reading the response body.
Parameters | |
---|---|
request |
UrlRequest: Request that started to get response. This is not guaranteed to be the same object as the one received by other callbacks, nor is it guaranteed to be the one returned by URLRequest.Builder#build. However, method calls on this object will have the same effects as calls on the original URLRequest. This value cannot be null . |
info |
UrlResponseInfo: Response information. This value cannot be null . |
Exceptions | |
---|---|
java.lang.Exception |
if an error occurs while processing response start. onFailed will be called with the thrown exception set as the cause of the CallbackException . |
onSucceeded
abstract fun onSucceeded(
request: UrlRequest,
info: UrlResponseInfo
): Unit
Invoked when request is completed successfully. Once invoked, no other Callback
methods will be invoked.
Parameters | |
---|---|
request |
UrlRequest: Request that succeeded. This is not guaranteed to be the same object as the one received by other callbacks, nor is it guaranteed to be the one returned by URLRequest.Builder#build. However, method calls on this object will have the same effects as calls on the original URLRequest. This value cannot be null . |
info |
UrlResponseInfo: Response information. This value cannot be null . |