@Test public void getRequestSpecificRetryHandler() throws Exception { LoadBalancingHttpClient client = new LoadBalancingHttpClient(); HttpRequest request = HttpRequest.newBuilder().verb(HttpRequest.Verb.GET).build(); RequestSpecificRetryHandler handler = client.getRequestSpecificRetryHandler(request, null); assertTrue(handler.isRetriableException(new Exception(), true)); request = HttpRequest.newBuilder().verb(HttpRequest.Verb.POST).build(); handler = client.getRequestSpecificRetryHandler(request, null); assertFalse(handler.isRetriableException(new Exception(), true)); }
@Override public RequestSpecificRetryHandler getRequestSpecificRetryHandler(HttpRequest request, IClientConfig requestConfig) { if (!request.isRetriable()) { return new RequestSpecificRetryHandler(false, false, this.getRetryHandler(), requestConfig); } if (this.icc != null && this.icc.get(CommonClientConfigKey.OkToRetryOnAllOperations, false)) { return new RequestSpecificRetryHandler(true, true, this.getRetryHandler(), requestConfig); } if (request.getVerb() != HttpRequest.Verb.GET) { return new RequestSpecificRetryHandler(true, false, this.getRetryHandler(), requestConfig); } else { return new RequestSpecificRetryHandler(true, true, this.getRetryHandler(), requestConfig); } }
LoadBalancingHttpClient extends AbstractLoadBalancerAwareClient<HttpRequest, HttpResponse> { @Override public RequestSpecificRetryHandler getRequestSpecificRetryHandler(HttpRequest request, IClientConfig requestConfig) { if (!request.isRetriable()) { return new RequestSpecificRetryHandler(false, false, this.getRetryHandler(), requestConfig); } if (this.icc != null && this.icc.get(CommonClientConfigKey.OkToRetryOnAllOperations, false)) { return new RequestSpecificRetryHandler(true, true, this.getRetryHandler(), requestConfig); } if (request.getVerb() != HttpRequest.Verb.GET) { return new RequestSpecificRetryHandler(true, false, this.getRetryHandler(), requestConfig); } else { return new RequestSpecificRetryHandler(true, true, this.getRetryHandler(), requestConfig); } } }
LoadBalancingHttpClient extends AbstractLoadBalancerAwareClient<HttpRequest, HttpResponse> { @Override public RequestSpecificRetryHandler getRequestSpecificRetryHandler(HttpRequest request, IClientConfig requestConfig) { if (!request.isRetriable()) { return new RequestSpecificRetryHandler(false, false, this.getRetryHandler(), requestConfig); } if (this.icc != null && this.icc.get(CommonClientConfigKey.OkToRetryOnAllOperations, false)) { return new RequestSpecificRetryHandler(true, true, this.getRetryHandler(), requestConfig); } if (request.getVerb() != HttpRequest.Verb.GET) { return new RequestSpecificRetryHandler(true, false, this.getRetryHandler(), requestConfig); } else { return new RequestSpecificRetryHandler(true, true, this.getRetryHandler(), requestConfig); } } LoadBalancingHttpClient();  LoadBalancingHttpClient(ILoadBalancer lb);  LoadBalancingHttpClient(ILoadBalancer lb, IClientConfig clientConfig); }
LoadBalancingHttpClient extends AbstractLoadBalancerAwareClient<HttpRequest, HttpResponse> { @Override public RequestSpecificRetryHandler getRequestSpecificRetryHandler(HttpRequest request, IClientConfig requestConfig) { if (!request.isRetriable()) { return new RequestSpecificRetryHandler(false, false, this.getRetryHandler(), requestConfig); } if (this.icc != null && this.icc.get(CommonClientConfigKey.OkToRetryOnAllOperations, false)) { return new RequestSpecificRetryHandler(true, true, this.getRetryHandler(), requestConfig); } if (request.getVerb() != HttpRequest.Verb.GET) { return new RequestSpecificRetryHandler(true, false, this.getRetryHandler(), requestConfig); } else { return new RequestSpecificRetryHandler(true, true, this.getRetryHandler(), requestConfig); } } LoadBalancingHttpClient();  LoadBalancingHttpClient(ILoadBalancer lb);  LoadBalancingHttpClient(ILoadBalancer lb, IClientConfig clientConfig); @Override RequestSpecificRetryHandler getRequestSpecificRetryHandler(HttpRequest request, IClientConfig requestConfig); @Override HttpResponse execute(HttpRequest request, IClientConfig requestConfig); }
LoadBalancingHttpClient extends AbstractLoadBalancerAwareClient<HttpRequest, HttpResponse> { @Override public RequestSpecificRetryHandler getRequestSpecificRetryHandler(HttpRequest request, IClientConfig requestConfig) { if (!request.isRetriable()) { return new RequestSpecificRetryHandler(false, false, this.getRetryHandler(), requestConfig); } if (this.icc != null && this.icc.get(CommonClientConfigKey.OkToRetryOnAllOperations, false)) { return new RequestSpecificRetryHandler(true, true, this.getRetryHandler(), requestConfig); } if (request.getVerb() != HttpRequest.Verb.GET) { return new RequestSpecificRetryHandler(true, false, this.getRetryHandler(), requestConfig); } else { return new RequestSpecificRetryHandler(true, true, this.getRetryHandler(), requestConfig); } } LoadBalancingHttpClient();  LoadBalancingHttpClient(ILoadBalancer lb);  LoadBalancingHttpClient(ILoadBalancer lb, IClientConfig clientConfig); @Override RequestSpecificRetryHandler getRequestSpecificRetryHandler(HttpRequest request, IClientConfig requestConfig); @Override HttpResponse execute(HttpRequest request, IClientConfig requestConfig); static final int DEFAULT_CONNECT_TIMEOUT; static final int DEFAULT_READ_TIMEOUT; }