소스 업데이트

This commit is contained in:
jade
2026-08-25 13:02:58 +09:00
parent 540faff2d8
commit 5080887f8b
2 changed files with 17 additions and 14 deletions

View File

@@ -1,40 +1,43 @@
package io.shinhanlife.dat.lib.mcp;
import java.io.IOException;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.*;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
import io.shinhanlife.dat.lib.session.mci.AxhubSessionService;
import io.shinhanlife.dat.lib.session.dto.SessionDto;
import org.springframework.beans.factory.annotation.Autowired;
/** Captures optional correlation and employee headers for an MCP HTTP call and creates mock session. */
@Component
public class McpRequestHeaderFilter extends OncePerRequestFilter {
public class McpRequestHeaderFilter implements Filter {
@Autowired(required = false)
private AxhubSessionService sessionService;
@Override
protected boolean shouldNotFilter(HttpServletRequest request) {
return !request.getRequestURI().endsWith("/mcp");
}
public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
if (!request.getRequestURI().contains("/mcp")) {
filterChain.doFilter(request, response);
return;
}
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
FilterChain filterChain) throws ServletException, IOException {
String empNo = request.getHeader("employee-no");
McpRequestHeaderContext.set(new McpRequestHeaders(
request.getHeader("x-request-id"),
request.getHeader("guid"),
request.getHeader("mcp-session-id"),
empNo,
request.getHeader("virtual-employee-no")));
// Fetch session info via MCI using employee-no (Only if sessionService is available, e.g. in Tool Pods)
if (sessionService != null && empNo != null && !empNo.isEmpty()) {
SessionDto sessionDto = sessionService.fetchUserSession(empNo);
@@ -43,7 +46,7 @@ public class McpRequestHeaderFilter extends OncePerRequestFilter {
request.setAttribute("userInfo", sessionDto);
}
}
try {
filterChain.doFilter(request, response);
} finally {

View File

@@ -1,4 +1,4 @@
### 대내 MCI 샘플 툴(send_mci_sample) 테스트
dlqh### 대내 MCI 샘플 툴(send_mci_sample) 테스트
# 이 스크립트는 IntelliJ IDEA의 HTTP Client 플러그인을 위한 테스트 파일입니다.
# 1. 서버(Gateway 및 Tool 모듈)를 먼저 실행해 주세요.
# 2. 아래 초록색 플레이(▶) 버튼을 누르면 툴 함수가 호출됩니다!