public Response request()

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());
    }
  }