11package uk .ac .ebi .spot .ols .config ;
22
33import jakarta .servlet .*;
4- import jakarta .servlet .http .HttpServletRequest ;
54import jakarta .servlet .http .HttpServletResponse ;
65import jakarta .servlet .http .HttpServletResponseWrapper ;
76import org .slf4j .Logger ;
@@ -27,7 +26,6 @@ public class McpIconFilter implements Filter {
2726
2827 private static final Logger logger = LoggerFactory .getLogger (McpIconFilter .class );
2928
30- private static final String MCP_ENDPOINT = "/api/mcp" ;
3129 private static final String ICON_PATH = "static/icon-small.png" ;
3230
3331 private String iconDataUri ;
@@ -59,13 +57,11 @@ private void loadIcon() {
5957 public void doFilter (ServletRequest request , ServletResponse response , FilterChain chain )
6058 throws IOException , ServletException {
6159
62- HttpServletRequest httpRequest = (HttpServletRequest ) request ;
6360 HttpServletResponse httpResponse = (HttpServletResponse ) response ;
6461
65- String path = httpRequest .getRequestURI ();
66-
67- // Only filter MCP endpoint responses
68- if (path != null && path .startsWith (MCP_ENDPOINT ) && iconDataUri != null ) {
62+ // This filter is registered only for /api/mcp and /api/mcp/* URL patterns,
63+ // so we know this is an MCP request. Only check if icon was loaded successfully.
64+ if (iconDataUri != null ) {
6965 // Wrap the response to capture the output
7066 ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper (httpResponse );
7167
0 commit comments