private static String formatXml(String xmlDocumentString) throws Exception { return formatXml(DOCUMENT_BUILDER.parse(new StringInputStream(xmlDocumentString))); }
private static String formatXml(String xmlDocumentString) throws Exception { return formatXml(DOCUMENT_BUILDER.parse(new StringInputStream(xmlDocumentString))); }
private SdkHttpFullRequest finishMarshalling(SdkPojo pojo) { // Content may already be set if the payload is binary data. if (hasPayloadMembers(pojo) && request.contentStreamProvider() == null && marshallerContext.xmlGenerator() != null) { String content = marshallerContext.xmlGenerator().stringWriter().getBuffer().toString(); if (!content.isEmpty()) { request.contentStreamProvider(() -> new StringInputStream(content)); request.putHeader("Content-Length", Integer.toString(content.getBytes(StandardCharsets.UTF_8).length)); setContentTypeHeaderIfNeeded("application/xml"); } } return request.build(); }
@Override public Optional<InputStream> modifyHttpResponseContent(Context.ModifyHttpResponse context, ExecutionAttributes executionAttributes) { if (context.request() instanceof GetBucketPolicyRequest) { String policy = context.responseBody() == null ? null : invokeSafely( () -> IoUtils.toUtf8String(context.responseBody().get())); // Wrap in CDATA to deal with any escaping issues String xml = String.format("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<Policy><![CDATA[%s]]></Policy>", policy); return Optional.of(AbortableInputStream.create(new StringInputStream(xml))); } return context.responseBody(); } }
private SdkHttpFullRequest finishMarshalling(SdkPojo pojo) { // Content may already be set if the payload is binary data. if (hasPayloadMembers(pojo) && request.contentStreamProvider() == null && marshallerContext.xmlGenerator() != null) { String content = marshallerContext.xmlGenerator().stringWriter().getBuffer().toString(); if (!content.isEmpty()) { request.contentStreamProvider(() -> new StringInputStream(content)); request.putHeader("Content-Length", Integer.toString(content.getBytes(StandardCharsets.UTF_8).length)); setContentTypeHeaderIfNeeded("application/xml"); } } return request.build(); }