Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
fun zipApi1AndApi2(): Observable<Pair<Media, okhttp3.Response>> {
return Api.api1().flatMap { response ->
if (response.isSuccessful) {
var uploadUrl = response.headers().get(ApiUtils.Header.LOCATION)
uploadUrl?.let {url ->
Observable.zip(
Observable.just(response.body()),
Api.api2(url)
) { t1, t2 -> Pair(t1, t2) }
} ?: run {
throw Exceptions.propagate(NullPointerException("Media upload URL is empty"))
}
} else
Observable.error(ApiRequestException(response))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.