private Observable<Void> registerMovie(Movie movie) {
        HttpClientRequest<ByteBuf> httpRequest = HttpClientRequest.createPost("/movies")
                .withHeader("X-Platform-Version", "xyz")
                .withHeader("X-Auth-Token", "abc")
                .withRawContentSource(Observable.just(movie), new RxMovieTransformer());

        return client.submit(httpRequest).flatMap(new Func1<HttpClientResponse<ByteBuf>, Observable<Void>>() {
            @Override
            public Observable<Void> call(HttpClientResponse<ByteBuf> httpClientResponse) {
                if (httpClientResponse.getStatus().code() / 100 != 2) {
                    return Observable.error(new RuntimeException(
                            format("HTTP request failed (status code=%s)", httpClientResponse.getStatus())));
                }
                return Observable.empty();
            }
        });
    }
Run {@link com.netflix.ribbon.examples.rx.RxMovieServer} prior to runnng this example!

@author Tomasz Bak
ribbon-examples/src/main/java/com/netflix/ribbon/examples/rx/transport/RxMovieTransportExample.java