1111import java .util .List ;
1212import java .util .concurrent .ConcurrentHashMap ;
1313import java .util .concurrent .locks .ReentrantLock ;
14- import java .util .function .Function ;
1514
1615import org .slf4j .Logger ;
1716import org .slf4j .LoggerFactory ;
2221import io .modelcontextprotocol .server .DefaultMcpTransportContext ;
2322import io .modelcontextprotocol .server .McpTransportContext ;
2423import io .modelcontextprotocol .server .McpTransportContextExtractor ;
24+ import io .modelcontextprotocol .spec .HttpHeaders ;
2525import io .modelcontextprotocol .spec .McpError ;
2626import io .modelcontextprotocol .spec .McpSchema ;
2727import io .modelcontextprotocol .spec .McpStreamableServerSession ;
@@ -70,26 +70,11 @@ public class HttpServletStreamableServerTransportProvider extends HttpServlet
7070 */
7171 public static final String ENDPOINT_EVENT_TYPE = "endpoint" ;
7272
73- /**
74- * Header name for the MCP session ID.
75- */
76- private static final String MCP_SESSION_ID = "mcp-session-id" ;
77-
78- /**
79- * Header name for the last message ID used in replay requests.
80- */
81- private static final String LAST_EVENT_ID = "Last-Event-ID" ;
82-
8373 /**
8474 * Header name for the response media types accepted by the requester.
8575 */
8676 private static final String ACCEPT = "Accept" ;
8777
88- /**
89- * Default base URL for the message endpoint.
90- */
91- public static final String DEFAULT_BASE_URL = "" ;
92-
9378 public static final String UTF_8 = "UTF-8" ;
9479
9580 public static final String APPLICATION_JSON = "application/json" ;
@@ -234,7 +219,7 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
234219 badRequestErrors .add ("text/event-stream required in Accept header" );
235220 }
236221
237- String sessionId = request .getHeader (MCP_SESSION_ID );
222+ String sessionId = request .getHeader (HttpHeaders . MCP_SESSION_ID );
238223
239224 if (sessionId == null || sessionId .isBlank ()) {
240225 badRequestErrors .add ("Session ID required in mcp-session-id header" );
@@ -271,8 +256,8 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
271256 sessionId , asyncContext , response .getWriter ());
272257
273258 // Check if this is a replay request
274- if (request .getHeader (LAST_EVENT_ID ) != null ) {
275- String lastId = request .getHeader (LAST_EVENT_ID );
259+ if (request .getHeader (HttpHeaders . LAST_EVENT_ID ) != null ) {
260+ String lastId = request .getHeader (HttpHeaders . LAST_EVENT_ID );
276261
277262 try {
278263 session .replay (lastId )
@@ -397,7 +382,7 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
397382
398383 response .setContentType (APPLICATION_JSON );
399384 response .setCharacterEncoding (UTF_8 );
400- response .setHeader (MCP_SESSION_ID , init .session ().getId ());
385+ response .setHeader (HttpHeaders . MCP_SESSION_ID , init .session ().getId ());
401386 response .setStatus (HttpServletResponse .SC_OK );
402387
403388 String jsonResponse = objectMapper .writeValueAsString (new McpSchema .JSONRPCResponse (
@@ -416,7 +401,7 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
416401 }
417402 }
418403
419- String sessionId = request .getHeader (MCP_SESSION_ID );
404+ String sessionId = request .getHeader (HttpHeaders . MCP_SESSION_ID );
420405
421406 if (sessionId == null || sessionId .isBlank ()) {
422407 badRequestErrors .add ("Session ID required in mcp-session-id header" );
@@ -524,13 +509,13 @@ protected void doDelete(HttpServletRequest request, HttpServletResponse response
524509
525510 McpTransportContext transportContext = this .contextExtractor .extract (request , new DefaultMcpTransportContext ());
526511
527- if (request .getHeader (MCP_SESSION_ID ) == null ) {
512+ if (request .getHeader (HttpHeaders . MCP_SESSION_ID ) == null ) {
528513 this .responseError (response , HttpServletResponse .SC_BAD_REQUEST ,
529514 new McpError ("Session ID required in mcp-session-id header" ));
530515 return ;
531516 }
532517
533- String sessionId = request .getHeader (MCP_SESSION_ID );
518+ String sessionId = request .getHeader (HttpHeaders . MCP_SESSION_ID );
534519 McpStreamableServerSession session = this .sessions .get (sessionId );
535520
536521 if (session == null ) {
0 commit comments