modified request interceptor

main
Said Gedik 2024-06-20 18:57:16 +02:00
parent 8813ed9f7d
commit d264c406bc
2 changed files with 30 additions and 29 deletions

View File

@ -300,8 +300,9 @@ public class KalenderRestController {
*/
@CrossOrigin("*")
@PostMapping("/api/updateState")
public ResponseEntity<String> updateState(@RequestBody StateChangeRequest request) throws ARException {
public ResponseEntity<String> updateState(@RequestBody StateChangeRequest request, HttpServletRequest httpRequest) throws ARException {
logRequest("/updateState", request.toString());
httpRequest.setAttribute("changeUpdateState", request);
var response = stateChange.createStateChange(request);
return ResponseEntity.ok(response);
}

View File

@ -7,6 +7,7 @@ import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
import com.nttdata.calender.changes.ChangeUpdateRequest;
import com.nttdata.calender.states.StateChangeRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@ -23,57 +24,56 @@ public class RequestInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// Print current datetime before handling the request
String currentDateTime = LocalDateTime.now().format(dateTimeFormatter);
long transactionId = System.currentTimeMillis();
String out = "Transaction ID = " + transactionId + " " + currentDateTime + " - handling request: "
+ request.getRequestURI();
String out = String.format("Transaction ID = %d %s - handling request: %s", transactionId, currentDateTime,
request.getRequestURI());
logger.info(out);
return true; // Continue with the request
return true;
}
private static String output(String time, long id, String user, String status, String action, String ticket,
String result) {
return String.format("Time: %s\nTransaction ID: %d\nUser: %s\nStatus: %s\nAction: %s\nTicket: %s\nResult: %s",
return String.format("%s\nTransaction ID: %d\nUser: %s\nStatus: %s\nAction: %s\nTicket: %s\nResult: %s",
time, id, user, status, action, ticket, result);
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// Only react for POST requests
if ("POST".equalsIgnoreCase(request.getMethod())) {
// Print current datetime after handling the request
String currentDateTime = LocalDateTime.now().format(dateTimeFormatter);
long transactionId = System.currentTimeMillis();
String changeNr = "";
if (handler instanceof HandlerMethod) {
HandlerMethod handlerMethod = (HandlerMethod) handler;
if (handlerMethod.getMethod().getName().equals("updateChange")) {
ChangeUpdateRequest changeUpdateRequest = (ChangeUpdateRequest) request
.getAttribute("changeUpdateRequest");
if (changeUpdateRequest != null) {
changeNr = changeUpdateRequest.getChangeNr();
}
String action = handlerMethod.getMethod().getName();
Object requestBody = request.getAttribute("requestBody");
if (requestBody instanceof ChangeUpdateRequest) {
ChangeUpdateRequest changeUpdateRequest = (ChangeUpdateRequest) requestBody;
changeNr = changeUpdateRequest.getChangeNr();
action += " | Date change";
} else if (requestBody instanceof StateChangeRequest) {
StateChangeRequest changeStateRequest = (StateChangeRequest) requestBody;
changeNr = changeStateRequest.getChangeNr();
action += " | State transition";
}
System.out.println("\n" + output(currentDateTime, transactionId, "User", "Success", request.getRequestURI(),
changeNr, "Successful"));
}
String status = (ex == null) ? "Success" : "Error";
String result = (ex == null) ? "Successful" : ex.getMessage();
String out = output(currentDateTime, transactionId, "User", status,
request.getRequestURI() + " | " + action, changeNr, result);
// if (ex == null) {
// String out = currentDateTime + "Transaction ID = " + transactionId
// + "\nDone / Success\nHandling Request: " + request.getRequestURI() + "\n";
// logger.info(out);
// System.out.println(out);
// } else {
// String out = "Transaction ID = " + transactionId + " " + currentDateTime + " [ERROR] handling request: "
// + request.getRequestURI() + "\n" + ex.getMessage() + "\n";
// logger.error(out);
// System.err.println(out);
// }
if (ex == null) {
logger.info(out);
} else {
logger.error(out);
}
System.out.println("\n" + out);
}
}
}
}