@@ -17,7 +17,7 @@ import (
1717)
1818
1919// handleStreamingResponse processes streaming SSE responses
20- func (p * Proxy ) handleStreamingResponse (w http.ResponseWriter , resp * http.Response , endpoint config.Endpoint , trans transformer.Transformer , transformerName string , thinkingEnabled bool ) (int , int , error ) {
20+ func (p * Proxy ) handleStreamingResponse (w http.ResponseWriter , resp * http.Response , endpoint config.Endpoint , trans transformer.Transformer , transformerName string , thinkingEnabled bool ) (int , int , string ) {
2121 // Copy response headers except Content-Length (streaming response length is unknown)
2222 for key , values := range resp .Header {
2323 if key == "Content-Length" {
@@ -33,7 +33,7 @@ func (p *Proxy) handleStreamingResponse(w http.ResponseWriter, resp *http.Respon
3333 if ! ok {
3434 logger .Error ("[%s] ResponseWriter does not support flushing" , endpoint .Name )
3535 resp .Body .Close ()
36- return 0 , 0 , nil
36+ return 0 , 0 , ""
3737 }
3838
3939 var streamCtx * transformer.StreamContext
@@ -110,7 +110,7 @@ func (p *Proxy) handleStreamingResponse(w http.ResponseWriter, resp *http.Respon
110110 }
111111
112112 resp .Body .Close ()
113- return inputTokens , outputTokens , nil
113+ return inputTokens , outputTokens , outputText . String ()
114114}
115115
116116// transformStreamEvent transforms a single SSE event
@@ -134,7 +134,7 @@ func (p *Proxy) extractTokensFromEvent(eventData []byte, inputTokens, outputToke
134134 continue
135135 }
136136
137- jsonData := strings .TrimPrefix (line , "data:" )
137+ jsonData := strings .TrimSpace ( strings . TrimPrefix (line , "data:" ) )
138138 var event map [string ]interface {}
139139 if err := json .Unmarshal ([]byte (jsonData ), & event ); err != nil {
140140 continue
@@ -168,7 +168,7 @@ func (p *Proxy) extractTextFromEvent(transformedEvent []byte, outputText *string
168168 continue
169169 }
170170
171- jsonData := strings .TrimPrefix (line , "data:" )
171+ jsonData := strings .TrimSpace ( strings . TrimPrefix (line , "data:" ) )
172172 var event map [string ]interface {}
173173 if err := json .Unmarshal ([]byte (jsonData ), & event ); err != nil {
174174 continue
0 commit comments