From 23a46b4be35277e06ec89f48730eeb694e686be8 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Thu, 18 Jun 2026 15:40:06 +0000
Subject: [PATCH] add fdx-commons and fdx-consultation

---
 fdx-commons/fdxcommons-core-impl/src/main/java/com/megatim/fdxcommons/core/impl/interceptor/BeforeActionImpl.java |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/fdx-commons/fdxcommons-core-impl/src/main/java/com/megatim/fdxcommons/core/impl/interceptor/BeforeActionImpl.java b/fdx-commons/fdxcommons-core-impl/src/main/java/com/megatim/fdxcommons/core/impl/interceptor/BeforeActionImpl.java
new file mode 100644
index 0000000..c016352
--- /dev/null
+++ b/fdx-commons/fdxcommons-core-impl/src/main/java/com/megatim/fdxcommons/core/impl/interceptor/BeforeActionImpl.java
@@ -0,0 +1,42 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.megatim.fdxcommons.core.impl.interceptor;
+
+import com.megatim.fdxcommons.core.ifaces.interceptor.BeforeAction;
+import com.megatim.fdxcommons.core.ifaces.interceptor.LoggingInterceptorBinding;
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.lang.reflect.Method;
+import java.util.stream.Collectors;
+import javax.enterprise.context.Dependent;
+import javax.ws.rs.container.ContainerRequestContext;
+import javax.ws.rs.container.ResourceInfo;
+
+/**
+ *
+ * @author ASUS
+ */
+@Dependent
+public class BeforeActionImpl implements BeforeAction {
+
+    @Override
+    public void filter(ContainerRequestContext crc, ResourceInfo resourceInfo) {
+        Method method = resourceInfo.getResourceMethod();
+        LoggingInterceptorBinding ann = method.getAnnotation(LoggingInterceptorBinding.class);
+
+        if (crc.hasEntity() && ann != null && ann.shouldCopyData()) {
+            InputStream inputStream = crc.getEntityStream();
+            String body = new BufferedReader(new InputStreamReader(inputStream))
+                    .lines().collect(Collectors.joining("\n"));
+
+            crc.setProperty("entity", body);
+
+            // Replace the original input stream with a new one after reading it
+            crc.setEntityStream(new ByteArrayInputStream(body.getBytes()));
+        }
+    }
+}

--
Gitblit v1.10.0