This is a light weight extension of groovy's RESTClient to support asyn call via RxGroovy
Install:
dependencies { compile 'org.eginez.groovy:AsyncRestClient:1.+' }
For RESTClient documentation: https://github.com/jgritman/httpbuilder/wiki/RESTClient. For RxGroovy documentation: https://github.com/ReactiveX/RxGroovy
Quick example:
with(AsyncRest) { new RESTClient('https://google.com') .getAsync(path:'/') .subscribe { res -> println res.data } }
And of course harness the power of RxJava :D
with(AsyncRest){ Observable<Object>.zip( new RESTClient('http://someurl.com/part_1').getAsync(), new RESTClient('http://someurl.com/part_2').getAsync(), { res1, res2 //proccess them eg: [res1.data: res2.data] }) .subscribe { println '2 concurrent rest calls sync\'d for processing'} }