LBClient extends
    AbstractLoadBalancerAwareClient<LBClient.RibbonRequest, LBClient.RibbonResponse> { public static LBClient create(ILoadBalancer lb, IClientConfig clientConfig) { return new LBClient(lb, clientConfig); } LBClient(ILoadBalancer lb, IClientConfig clientConfig); static LBClient create(ILoadBalancer lb, IClientConfig clientConfig); @Override RibbonResponse execute(RibbonRequest request, IClientConfig configOverride); @Override RequestSpecificRetryHandler getRequestSpecificRetryHandler(
                                                                    RibbonRequest request,
                                                                    IClientConfig requestConfig);  }
@Test public void testRibbonRequest() throws URISyntaxException { String urlWithEncodedJson = "http: HttpMethod method = HttpMethod.GET; URI uri = new URI(urlWithEncodedJson); Map<String, Collection<String>> headers = new LinkedHashMap<String, Collection<String>>(); Request requestOrigin = Request.create(method, uri.toASCIIString(), headers, null, Charset.forName("utf-8")); RibbonRequest ribbonRequest = new RibbonRequest(null, requestOrigin, uri); Request requestRecreate = ribbonRequest.toRequest(); assertThat(requestOrigin.toString()) .contains(String.format("%s %s HTTP/1.1\n", method, urlWithEncodedJson)); assertThat(requestRecreate.toString()) .contains(String.format("%s %s HTTP/1.1\nContent-Length: 0\n", method, urlWithEncodedJson)); }