An HTTP example
Any learning is not complete until and unless we apply it to a real-time scenario. So far, you have learned many concepts of reactive programming. Now, it's time to apply them to a real-world scenario, where we will use an API to get some data through an HTTP request and print the response data to the console.
We used one additional plugin for this example—RxJava-Apache-HTTP
. If you're using Gradle as your build tool, add the following dependency:
//RxJava - Apache - HTTP compile "com.netflix.rxjava:rxjava-apache-http:0.20.7"
Here is the code:
fun main(args: Array<String>) { val httpClient = HttpAsyncClients.createDefault()//(1) httpClient.start()//(2) ObservableHttp.createGet("http://rivuchk.com/feed/json", httpClient).toObservable()//(3) .flatMap{ response -> response.content.map{ bytes -> String(bytes) }//(4) } .onErrorReturn {//(5) "Error Parsing data...