private Observable execute()

in src/main/java/com/spotify/ffwd/http/RawHttpClient.java [83:109]


  private Observable<Void> execute(final Request.Builder request) {
    //TODO: handle unsubscribe and cancel the request if that happens.
    return Observable.unsafeCreate(new Observable.OnSubscribe<Void>() {
      public void call(final Subscriber<? super Void> subscriber) {
        final Call call = httpClient.newCall(request.build());

        call.enqueue(new Callback() {
          public void onFailure(final Call call, final IOException e) {
            subscriber.onError(e);
          }

          public void onResponse(final Call call, final Response response)
              throws IOException {
            if (response.isSuccessful()) {
              subscriber.onCompleted();
            } else {
              subscriber.onError(new RuntimeException(
                  "HTTP request failed: " + response.code() + ": "
                  + response.message()));
            }

            response.close();
          }
        });
      }
    });
  }