modelcontextprotocol / modelcontextprotocol/java-sdk
Add X-Accel-Buffering: no Header for SSE Responses
Personne n'a encore pris cette issue.
- Langage dominant
- Java
- Étoiles
- 3.7k
- Forks
- 1.1k
- Merge moyen
- 1 j 15 h
- PR mergées (30 j)
- 9
Description
Quick Search Confirmation
I searched existing issues in this repository and did not find a duplicate request for adding X-Accel-Buffering headers to SSE responses.
Expected Behavior
When using the spring-ai-starter-mcp-server-webmvc module to handle Server-Sent Events (SSE), the framework should automatically inject the header X-Accel-Buffering: no into all SSE responses. This ensures proxy servers (e.g., Nginx) disable response buffering, allowing real-time streaming of AI-generated content (e.g., chat completions, streaming predictions) without latency.
Example of Expected Headers:
For an SSE endpoint like /stream, the response should include:
Content-Type: text/event-stream
X-Accel-Buffering: no
Current Behavior
- Missing Header: SSE responses from
spring-ai-starter-mcp-server-webmvcdo not includeX-Accel-Buffering: no. - Consequence: Proxy servers (e.g., Nginx) buffer SSE responses by default, causing:
- Delayed delivery of real-time data (e.g., chat messages appear in batches instead of streaming).
- Inconsistent behavior in AI applications where low latency is critical.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le traitement des réponses SSE décrit dans l’issue dans spring-ai-starter-mcp-server-webmvc et examinez comment les réponses SSE sont produites. Vérifiez les en-têtes de réponse d’un endpoint SSE, puis assurez-vous que le comportement une fois terminé inclut Content-Type: text/event-stream et X-Accel-Buffering: no sans mise en tampon du proxy.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, spring
- Domaine
- api, backend
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 50/100