package com.fourlastor.rxdispatcher; import com.squareup.okhttp.*; import rx.Observable; import rx.Subscriber; import java.io.IOException; /** * Thanks to Paul Betts * * @link {https://gist.github.com/paulcbetts/2274581f24ded7502011} */ public class RxOkHttp { public static Observable<Response> request(final OkHttpClient client, final Request request) { return Observable.create(new Observable.OnSubscribe<Response>() { @Override public void call(final Subscriber<? super Response> subj) { final Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Request request, IOException e) { subj.onError(e); } @Override public void onResponse(Response response) throws IOException { subj.onNext(response); subj.onCompleted(); } }); } }); } }