aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java b/src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java
index 59db396..9e3cd36 100644
--- a/src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java
+++ b/src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java
@@ -26,18 +26,22 @@ public class MsgResponseBackend implements Consumer<String> {
private final DeliveryRepository repository;
private final Consumer<byte[]> signatureVerifier;
- private final SaveResponseToFileSink saveResponseToFileSink;
+ private final SaveResponseToFileSink saveResponseSink;
private final LogResponseSink logResponseSink;
+ private final ForwardResponseToServiceSink forwardResponseSink;
@Autowired
public MsgResponseBackend(DeliveryRepository repository,
Consumer<byte[]> signatureVerifier,
SaveResponseToFileSink saveResponseToFileSink,
- LogResponseSink logResponseSink) {
+ LogResponseSink logResponseSink,
+ ForwardResponseToServiceSink forwardResponseSink) {
this.repository = repository;
this.signatureVerifier = signatureVerifier;
- this.saveResponseToFileSink = saveResponseToFileSink;
+ this.saveResponseSink = saveResponseToFileSink;
this.logResponseSink = logResponseSink;
+ this.forwardResponseSink = forwardResponseSink;
+
}
/**
@@ -84,13 +88,19 @@ public class MsgResponseBackend implements Consumer<String> {
var sinkParams = getSinkParams(msgResponse);
- if (sinkParams.getSafeResponseToFile().isActive()) {
- supplyAsync(() -> saveResponseToFileSink.save(msgResponse, sinkParams.getSafeResponseToFile().getPath()));
+ if (sinkParams.getSaveResponseToFile().isActive()) {
+ supplyAsync(() -> saveResponseSink.save(msgResponse, sinkParams.getSaveResponseToFile().getPath()));
}
if (sinkParams.isLogResponse()) {
supplyAsync(() -> logResponseSink.log(msgResponse));
}
+
+ if (sinkParams.getForwardResponseToService().isActive()) {
+ supplyAsync(() -> forwardResponseSink.send(
+ msgResponse, sinkParams.getForwardResponseToService().getMzsClient()));
+ }
+
}
private MsgResponseSinksType getSinkParams(MsgResponse msgResponse) {