public VCloudError parseErrorFromContent(HttpRequest request, HttpResponse response) { // HEAD has no content if (response.getPayload() == null) return null; if (TerremarkVCloudMediaType.ERROR_XML.equals(response.getPayload().getContentMetadata().getContentType())) { try { return factory.create(errorHandlerProvider.get()).setContext(request).apply(response); } catch (RuntimeException e) { logger.warn(e, "error parsing error"); } } return null; } }
public VCloudError parseErrorFromContent(HttpRequest request, HttpResponse response) { // HEAD has no content if (response.getPayload() == null) return null; if (VCloudMediaType.ERROR_XML.equals(response.getPayload().getContentMetadata().getContentType())) { try { return (VCloudError) factory.create(errorHandlerProvider.get()).setContext(request).apply(response); } catch (RuntimeException e) { logger.warn(e, "error parsing error"); } } return null; } }
public VCloudError parseErrorFromContent(HttpRequest request, HttpResponse response) { // HEAD has no content if (response.getPayload() == null) return null; if (VCloudMediaType.ERROR_XML.equals(response.getPayload().getContentMetadata().getContentType())) { try { return (VCloudError) factory.create(errorHandlerProvider.get()).setContext(request).apply(response); } catch (RuntimeException e) { logger.warn(e, "error parsing error"); } } return null; } }
public VCloudError parseErrorFromContent(HttpRequest request, HttpResponse response) { // HEAD has no content if (response.getPayload() == null) return null; // NOTE in vCloud Datacenter 1.5, if you make vCloud 1.0 requests, the content type // header is suffixed with ;1.0 String contentType = response.getPayload().getContentMetadata().getContentType(); if (contentType != null && contentType.startsWith(VCloudMediaType.ERROR_XML)) { try { return factory.create(errorHandlerProvider.get()).setContext(request).apply(response); } catch (RuntimeException e) { logger.warn(e, "error parsing error"); } } return null; } }
public VCloudError parseErrorFromContent(HttpRequest request, HttpResponse response) { // HEAD has no content if (response.getPayload() == null) return null; // NOTE in vCloud Datacenter 1.5, if you make vCloud 1.0 requests, the content type // header is suffixed with ;1.0 String contentType = response.getPayload().getContentMetadata().getContentType(); if (contentType != null && contentType.startsWith(VCloudMediaType.ERROR_XML)) { try { return factory.create(errorHandlerProvider.get()).setContext(request).apply(response); } catch (RuntimeException e) { logger.warn(e, "error parsing error"); } } return null; } }
public VCloudError parseErrorFromContent(HttpRequest request, HttpResponse response) { // HEAD has no content if (response.getPayload() == null) return null; // NOTE in vCloud Datacenter 1.5, if you make vCloud 1.0 requests, the content type // header is suffixed with ;1.0 String contentType = response.getPayload().getContentMetadata().getContentType(); if (contentType != null && contentType.startsWith(VCloudMediaType.ERROR_XML)) { try { return factory.create(errorHandlerProvider.get()).setContext(request).apply(response); } catch (RuntimeException e) { logger.warn(e, "error parsing error"); } } return null; } }
@Test public void testAddDetailsAndPropagateOkWhenRequestIsNotNullAndResponseIsNull() throws ExecutionException, InterruptedException, TimeoutException, IOException { ParseSax<String> parser = createParser(); HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://foohost").build(); Exception input = new Exception("foo"); try { parser.setContext(request); parser.addDetailsAndPropagate(null, input); } catch (RuntimeException e) { assertEquals(e.getMessage(), "request: GET http://foohost HTTP/1.1; cause: java.lang.Exception: foo"); assertEquals(e.getCause(), input); } }
@Test public void testAddDetailsAndPropagateOkWhenRequestIsNotNullAndResponseIsNull() { ParseSax<String> parser = createParser(); HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://foohost").build(); Exception input = new Exception("foo"); try { parser.setContext(request); parser.addDetailsAndPropagate(null, input); } catch (RuntimeException e) { assertEquals(e.getMessage(), "request: GET http://foohost HTTP/1.1; cause: java.lang.Exception: foo"); assertEquals(e.getCause(), input); } }
ParseSax<ListBucketResponse> createParser() { return factory.create(injector.getInstance(ListBucketHandler.class)).setContext( HttpRequest.builder().method("GET").endpoint("http://bucket.com").build()); }
private ParseSax<Map<Integer, String>> createParser() { return factory.create(injector.getInstance(PartIdsFromHttpResponse.class)).setContext( HttpRequest.builder().method("GET").endpoint("http://bucket.com").build()); } }
ParseSax<ListBucketResponse> createParser() { return factory.create(injector.getInstance(ListBucketHandler.class)).setContext( HttpRequest.builder().method("GET").endpoint("http://bucket.com").build()); }
@Test public void testAddDetailsAndPropagateOkWithValidRequestResponse() throws ExecutionException, InterruptedException, TimeoutException, IOException { ParseSax<String> parser = createParser(); HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://foohost").build(); HttpResponse response = HttpResponse.builder().statusCode(304).message("Not Modified").build(); Exception input = new Exception("foo"); try { parser.setContext(request); parser.addDetailsAndPropagate(response, input); } catch (RuntimeException e) { assertEquals(e.getMessage(), "request: GET http://foohost HTTP/1.1; response: HTTP/1.1 304 Not Modified; cause: java.lang.Exception: foo"); assertEquals(e.getCause(), input); } }
@Test public void testAddDetailsAndPropagateOkWithValidRequestResponse() { ParseSax<String> parser = createParser(); HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://foohost").build(); HttpResponse response = HttpResponse.builder().statusCode(304).message("Not Modified").build(); Exception input = new Exception("foo"); try { parser.setContext(request); parser.addDetailsAndPropagate(response, input); } catch (RuntimeException e) { assertEquals(e.getMessage(), "request: GET http://foohost HTTP/1.1; response: HTTP/1.1 304 Not Modified; cause: java.lang.Exception: foo"); assertEquals(e.getCause(), input); } }
private ListBucketResponse runParseListContainerResult() throws HttpException { return factory.create(injector.getInstance(ListBucketHandler.class)).setContext( HttpRequest.builder().method("GET").endpoint("http://bucket.com").build()).parse( Strings2.toInputStream(listContainerResult)); }
private ListBucketResponse runParseListContainerResult() throws HttpException { return factory.create(injector.getInstance(ListBucketHandler.class)).setContext( HttpRequest.builder().method("GET").endpoint("http://bucket.com").build()).parse( Strings2.toInputStream(listContainerResult)); }
public AWSError parseAWSErrorFromContent(HttpRequest request, HttpResponse response) { if (response.getPayload() == null) return null; if ("text/plain".equals(response.getPayload().getContentMetadata().getContentType())) return null; try { AWSError error = factory.create(errorHandlerProvider.get()).setContext(request).apply(response); if (error.getRequestId() == null) error.setRequestId(response.getFirstHeaderOrNull(requestId)); error.setRequestToken(response.getFirstHeaderOrNull(requestToken)); if ("SignatureDoesNotMatch".equals(error.getCode())) { error.setStringSigned(signer.createStringToSign(request)); error.setSignature(signer.sign(error.getStringSigned())); } return error; } catch (RuntimeException e) { logger.warn(e, "error parsing error"); return null; } }
public AWSError parseAWSErrorFromContent(HttpRequest request, HttpResponse response) { if (response.getPayload() == null) return null; if ("text/plain".equals(response.getPayload().getContentMetadata().getContentType())) return null; try { AWSError error = factory.create(errorHandlerProvider.get()).setContext(request).apply(response); if (error.getRequestId() == null) error.setRequestId(response.getFirstHeaderOrNull(requestId)); error.setRequestToken(response.getFirstHeaderOrNull(requestToken)); if ("SignatureDoesNotMatch".equals(error.getCode())) { error.setStringSigned(signer.createStringToSign(request)); error.setSignature(signer.sign(error.getStringSigned())); } return error; } catch (RuntimeException e) { logger.warn(e, "error parsing error"); return null; } }
public AWSError parseAWSErrorFromContent(HttpRequest request, HttpResponse response) { if (response.getPayload() == null) return null; if ("text/plain".equals(response.getPayload().getContentMetadata().getContentType())) return null; try { AWSError error = factory.create(errorHandlerProvider.get()).setContext(request).apply(response); if (error.getRequestId() == null) error.setRequestId(response.getFirstHeaderOrNull(requestId)); error.setRequestToken(response.getFirstHeaderOrNull(requestToken)); if ("SignatureDoesNotMatch".equals(error.getCode())) { error.setStringSigned(signer.createStringToSign(request)); error.setSignature(signer.sign(error.getStringSigned())); } return error; } catch (RuntimeException e) { logger.warn(e, "error parsing error"); return null; } }
public AWSError parseAWSErrorFromContent(HttpRequest request, HttpResponse response) { if (response.getPayload() == null) return null; if ("text/plain".equals(response.getPayload().getContentMetadata().getContentType())) return null; try { AWSError error = factory.create(errorHandlerProvider.get()).setContext(request).apply(response); if (error.getRequestId() == null) error.setRequestId(response.getFirstHeaderOrNull(requestId)); error.setRequestToken(response.getFirstHeaderOrNull(requestToken)); if ("SignatureDoesNotMatch".equals(error.getCode())) { error.setStringSigned(signer.createStringToSign(request)); error.setSignature(signer.sign(error.getStringSigned())); } return error; } catch (RuntimeException e) { logger.warn(e, "error parsing error"); return null; } }
public AWSError parseAWSErrorFromContent(HttpRequest request, HttpResponse response) { if (response.getPayload() == null) return null; if ("text/plain".equals(response.getPayload().getContentMetadata().getContentType())) return null; try { AWSError error = factory.create(errorHandlerProvider.get()).setContext(request).apply(response); if (error.getRequestId() == null) error.setRequestId(response.getFirstHeaderOrNull(requestId)); error.setRequestToken(response.getFirstHeaderOrNull(requestToken)); if ("SignatureDoesNotMatch".equals(error.getCode())) { error.setStringSigned(signer.createStringToSign(request)); error.setSignature(signer.sign(error.getStringSigned())); } return error; } catch (RuntimeException e) { logger.warn(e, "error parsing error"); return null; } }