retryCapacity.release(); return new Response<Output>(response, httpResponse);
@Test public void testAfterResponse() { final Request<?> testRequest = new DefaultRequest<String>("test"); final Response<?> testResponse = new Response<String>("test", new HttpResponse.Builder().build()); final List<Object> calls = new ArrayList<Object>(); List<RequestHandler2> handlers = new ArrayList<RequestHandler2>(); RequestHandler2 handler = new RequestHandler2() { @Override public void beforeRequest(Request<?> request) { } @Override public void afterResponse(Request<?> request, Response<?> response) { assertSame(testRequest, request); assertSame(testResponse, response); calls.add(this); } @Override public void afterError(Request<?> request, Response<?> response, Exception e) { } }; handlers.add(handler); client.afterResponse(testRequest, handlers, testResponse, null); assertEquals(calls.size(), 1); assertTrue(calls.contains(handler)); }
@Test public void testAfterError() { final Request<?> testRequest = new DefaultRequest<String>("test"); final Response<?> testResponse = new Response<String>("test", new HttpResponse.Builder().build()); final List<Object> calls = new ArrayList<Object>(); List<RequestHandler2> handlers = new ArrayList<RequestHandler2>(); final AmazonClientException ace = new AmazonClientException("Test exception"); RequestHandler2 handler = new RequestHandler2() { @Override public void beforeRequest(Request<?> request) { } @Override public void afterResponse(Request<?> request, Response<?> response) { } @Override public void afterError(Request<?> request, Response<?> response, Exception e) { assertSame(testRequest, request); assertSame(testResponse, response); assertSame(e, ace); calls.add(this); } }; handlers.add(handler); client.afterError(testRequest, testResponse, handlers, ace); assertEquals(calls.size(), 1); assertTrue(calls.contains(handler)); }
"/com/amazonaws/services/simpledb/request.handler2s")); for (RequestHandler2 handler2 : requestHandler2s) { Response res = new Response(listDomainsResult, null); handler2.afterResponse(null, res);
httpResponse, executionContext); return new Response<T>(response, httpResponse); } else if (isTemporaryRedirect(httpResponse)) {
"/com/amazonaws/services/simpledb/request.handler2s")); for (RequestHandler2 handler2 : requestHandler2s) { Response res = new Response(getAttributesResult, null); handler2.afterResponse(null, res);
retryCapacity.release(); return new Response<Output>(response, httpResponse);
"/com/amazonaws/services/simpledb/request.handler2s")); for (RequestHandler2 handler2 : requestHandler2s) { Response res = new Response(domainMetadataResult, null); handler2.afterResponse(null, res);
"/com/amazonaws/services/simpledb/request.handler2s")); for (RequestHandler2 handler2 : requestHandler2s) { Response res = new Response(selectResult, null); handler2.afterResponse(null, res);
try { return responseHandler.handle(response).map(r -> { Response<X> awsResponse = new Response<X>(r.getResult(), null); afterResponse(request, requestHandler2s, awsResponse); return awsResponse.getAwsResponse();
httpResponse, executionContext); return new Response<T>(response, httpResponse); } else if (isTemporaryRedirect(httpResponse)) {
private void execRequest(String endpoint, int status) { AWSRequestMetrics metrics = new AWSRequestMetricsFullSupport(); metrics.addProperty(AWSRequestMetrics.Field.ServiceName, "AmazonCloudWatch"); metrics.addProperty(AWSRequestMetrics.Field.ServiceEndpoint, endpoint); metrics.addProperty(AWSRequestMetrics.Field.StatusCode, "" + status); if (status == 503) { metrics.addProperty(AWSRequestMetrics.Field.AWSErrorCode, "Throttled"); } String counterName = "BytesProcessed"; String timerName = "ClientExecuteTime"; metrics.setCounter(counterName, 12345); metrics.getTimingInfo().addSubMeasurement(timerName, TimingInfo.unmodifiableTimingInfo(100000L, 200000L)); Request<?> req = new DefaultRequest(new ListMetricsRequest(), "AmazonCloudWatch"); req.setAWSRequestMetrics(metrics); req.setEndpoint(URI.create(endpoint)); HttpResponse hr = new HttpResponse(req, new HttpPost(endpoint)); hr.setStatusCode(status); Response<?> resp = new Response<>(null, new HttpResponse(req, new HttpPost(endpoint))); collector.collectMetrics(req, resp); }
httpResponse, executionContext); return new Response<T>(response, httpResponse); } else if (isTemporaryRedirect(httpResponse)) {
retryCapacity.release(); return new Response<Output>(response, httpResponse);