in src/main/java/com/epam/digital/data/platform/restapi/core/service/GenericService.java [97:118]
public Response<O> request(Request<I> input) {
var request = new ProducerRecord<>(topics.getRequest(), traceProvider.getRequestId(), input);
if (isSigningEnabled) {
String digitalSeal = digitalSignatureService.sign(input);
String cephKey = digitalSignatureService.store(digitalSeal);
var signatureHeader = new RecordHeader(DIGITAL_SEAL_KAFKA_HEADER, cephKey.getBytes(UTF_8));
request.headers().add(signatureHeader);
}
var responseRecord = sendRequest(input, request);
var cephResponseKeyHeaderValue =
getKafkaHeader(responseRecord, ResponseHeaders.CEPH_RESPONSE_KEY);
if (cephResponseKeyHeaderValue.isPresent()) {
log.info("Reading large response from Ceph");
return getResponseFromStorage(cephResponseKeyHeaderValue.get());
} else {
return fromString(responseRecord.value());
}
}