(c *gin.Context)
| 14 | ) |
| 15 | |
| 16 | func SetEventStreamHeaders(c *gin.Context) { |
| 17 | // 检查是否已经设置过头部 |
| 18 | if _, exists := c.Get("event_stream_headers_set"); exists { |
| 19 | return |
| 20 | } |
| 21 | |
| 22 | c.Writer.Header().Set("Content-Type", "text/event-stream") |
| 23 | c.Writer.Header().Set("Cache-Control", "no-cache") |
| 24 | c.Writer.Header().Set("Connection", "keep-alive") |
| 25 | c.Writer.Header().Set("Transfer-Encoding", "chunked") |
| 26 | c.Writer.Header().Set("X-Accel-Buffering", "no") |
| 27 | |
| 28 | // 设置标志,表示头部已经设置过 |
| 29 | c.Set("event_stream_headers_set", true) |
| 30 | } |
| 31 | |
| 32 | func ClaudeData(c *gin.Context, resp dto.ClaudeResponse) error { |
| 33 | jsonData, err := json.Marshal(resp) |
no test coverage detected