From ec69a5f4bc0c9b970cd4f30c6ad53a9fbb9ee94b Mon Sep 17 00:00:00 2001 From: Francesco Cesareo Date: Fri, 11 Oct 2024 15:59:04 +0200 Subject: [PATCH] added url and header override in recovery receipt, added allargs to RTRequestEntity --- .../repository/model/RTRequestEntity.java | 4 ++++ .../service/RecoveryService.java | 19 ++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/main/java/it/gov/pagopa/wispconverter/repository/model/RTRequestEntity.java b/src/main/java/it/gov/pagopa/wispconverter/repository/model/RTRequestEntity.java index 619a21b8..881bdd18 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/repository/model/RTRequestEntity.java +++ b/src/main/java/it/gov/pagopa/wispconverter/repository/model/RTRequestEntity.java @@ -3,8 +3,10 @@ import com.azure.spring.data.cosmos.core.mapping.Container; import com.azure.spring.data.cosmos.core.mapping.PartitionKey; import it.gov.pagopa.wispconverter.repository.model.enumz.ReceiptTypeEnum; +import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; import lombok.ToString; import lombok.experimental.SuperBuilder; import org.springframework.data.annotation.Id; @@ -16,6 +18,8 @@ @ToString(exclude = "payload") @EqualsAndHashCode(exclude = "payload") @SuperBuilder(toBuilder = true) +@AllArgsConstructor +@NoArgsConstructor public class RTRequestEntity { @Id diff --git a/src/main/java/it/gov/pagopa/wispconverter/service/RecoveryService.java b/src/main/java/it/gov/pagopa/wispconverter/service/RecoveryService.java index 95f22299..99a635dc 100644 --- a/src/main/java/it/gov/pagopa/wispconverter/service/RecoveryService.java +++ b/src/main/java/it/gov/pagopa/wispconverter/service/RecoveryService.java @@ -52,6 +52,11 @@ @RequiredArgsConstructor public class RecoveryService { + @Value("${wisp-converter.station-in-forwarder.partial-path}") + private String stationInForwarderPartialPath; + + @Value("${wisp-converter.forwarder.api-key}") + private String forwarderSubscriptionKey; private static final String RPT_ACCETTATA_NODO = "RPT_ACCETTATA_NODO"; private static final String STATUS_RT_SEND_SUCCESS = "RT_SEND_SUCCESS"; @@ -306,6 +311,9 @@ public RecoveryReceiptReportResponse recoverReceiptToBeReSent(RecoveryReceiptReq stationConnection.getPort().intValue(), station.getService() != null ? station.getService().getPath() : "" ); + rtRequestEntity.setUrl(uri.toString()); + rtRequestEntity.setHeaders(generateHeader(uri, station)); + InetSocketAddress proxyAddress = CommonUtility.constructProxyAddress(uri, station, apimPath); if (proxyAddress != null) { rtRequestEntity.setProxyAddress(String.format("%s:%s", proxyAddress.getHostString(), proxyAddress.getPort())); @@ -340,7 +348,7 @@ public RecoveryReceiptReportResponse recoverReceiptToBeReSent(RecoveryReceiptReq rtRequestEntity.setId(overriddenReceiptId); rtRequestEntity.setDomainId(domainId); rtRequestEntity.setIdempotencyKey(overriddenIdempotencyKey); - rtRequestEntity.setRetry(46); // TODO set 0 + rtRequestEntity.setRetry(0); rtRequestEntity.setPayload(AppBase64Util.base64Encode(ZipUtil.zip(payload))); rtRetryRepository.save(rtRequestEntity); @@ -366,6 +374,15 @@ public RecoveryReceiptReportResponse recoverReceiptToBeReSent(RecoveryReceiptReq return response; } + private List generateHeader(URI uri, StationDto station) { + List> headers = CommonUtility.constructHeadersForPaaInviaRT(uri, station, stationInForwarderPartialPath, forwarderSubscriptionKey); + List formattedHeaders = new LinkedList<>(); + for (Pair header : headers) { + formattedHeaders.add(header.getFirst() + ":" + header.getSecond()); + } + return formattedHeaders; + } + /** * Regenerate receipt payload according to its type (OK|KO) */