| 379 | line += "\n"; |
| 380 | if (!ctx->send_bytes(line.data(), line.size())) return 0; |
| 381 | continue; |
| 382 | } |
| 383 | std::string payload = line.substr(6); |
| 384 | if (payload == "[DONE]") { |
| 385 | std::string out = "data: [DONE]\n\n"; |
| 386 | ctx->stop_stream(); |
| 387 | if (!ctx->send_bytes(out.data(), out.size())) return 0; |
| 388 | continue; |
| 389 | } |
| 390 | try { |
| 391 | auto j = json::parse(payload); |
| 392 | j["object"] = "chat.completion.chunk"; |