in proxy/cloudhsm/proxy/src/main/java/com/amazon/aws/pix/cloudhsm/proxy/processor/LogRequestResponseProcessor.java [25:44]
public void process(Exchange exchange) throws Exception {
Map<String, Object> headers = exchange.getIn().getHeaders();
AuditLog auditLog = (AuditLog) exchange.getProperty(REQUEST_LOG_PROPERTY);
auditLog.setResponseStatusCode(headers.get("CamelHttpResponseCode"));
auditLog.setResponseSignatureValid(headers.get(PixConstants.PIX_HEADER_SIGNATURE_VALID));
auditLog.setResponseBody(exchange.getIn().getBody(String.class));
auditLog.setResponseHeader(
headers.entrySet().stream()
.filter(e -> !e.getKey().startsWith("Camel"))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue))
);
PutRecordRequest putRecordRequest = PutRecordRequest.builder()
.deliveryStreamName(streamName)
.record(builder -> builder.data(SdkBytes.fromUtf8String(auditLog.toJson())))
.build();
PutRecordResponse putRecordResponse = firehoseClient.putRecord(putRecordRequest);
}