forked from kimhyungsik/ax_hub_mcp_tool
소스 업데이트
This commit is contained in:
@@ -1,31 +1,34 @@
|
|||||||
package io.shinhanlife.dat.lib.mcp;
|
package io.shinhanlife.dat.lib.mcp;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import jakarta.servlet.FilterChain;
|
|
||||||
import jakarta.servlet.ServletException;
|
import jakarta.servlet.*;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import org.springframework.stereotype.Component;
|
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.mci.AxhubSessionService;
|
||||||
import io.shinhanlife.dat.lib.session.dto.SessionDto;
|
import io.shinhanlife.dat.lib.session.dto.SessionDto;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
/** Captures optional correlation and employee headers for an MCP HTTP call and creates mock session. */
|
/** Captures optional correlation and employee headers for an MCP HTTP call and creates mock session. */
|
||||||
@Component
|
@Component
|
||||||
public class McpRequestHeaderFilter extends OncePerRequestFilter {
|
public class McpRequestHeaderFilter implements Filter {
|
||||||
|
|
||||||
@Autowired(required = false)
|
@Autowired(required = false)
|
||||||
private AxhubSessionService sessionService;
|
private AxhubSessionService sessionService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean shouldNotFilter(HttpServletRequest request) {
|
public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain)
|
||||||
return !request.getRequestURI().endsWith("/mcp");
|
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");
|
String empNo = request.getHeader("employee-no");
|
||||||
|
|
||||||
McpRequestHeaderContext.set(new McpRequestHeaders(
|
McpRequestHeaderContext.set(new McpRequestHeaders(
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
### 대내 MCI 샘플 툴(send_mci_sample) 테스트
|
dlqh### 대내 MCI 샘플 툴(send_mci_sample) 테스트
|
||||||
# 이 스크립트는 IntelliJ IDEA의 HTTP Client 플러그인을 위한 테스트 파일입니다.
|
# 이 스크립트는 IntelliJ IDEA의 HTTP Client 플러그인을 위한 테스트 파일입니다.
|
||||||
# 1. 서버(Gateway 및 Tool 모듈)를 먼저 실행해 주세요.
|
# 1. 서버(Gateway 및 Tool 모듈)를 먼저 실행해 주세요.
|
||||||
# 2. 아래 초록색 플레이(▶) 버튼을 누르면 툴 함수가 호출됩니다!
|
# 2. 아래 초록색 플레이(▶) 버튼을 누르면 툴 함수가 호출됩니다!
|
||||||
|
|||||||
Reference in New Issue
Block a user