MCPcopy Create free account
hub / github.com/QuantumNous/new-api / writeTaskPluginProtocolEvent

Function writeTaskPluginProtocolEvent

controller/plugin_protocol.go:1221–1243  ·  view source on GitHub ↗
(c *gin.Context, event dto.PluginResponsesStreamEvent)

Source from the content-addressed store, hash-verified

1219}
1220
1221func writeTaskPluginProtocolEvent(c *gin.Context, event dto.PluginResponsesStreamEvent) error {
1222 encoded, err := common.Marshal(event)
1223 if err != nil {
1224 return err
1225 }
1226 helper.ExtendWriteDeadline(c)
1227 if _, err = c.Writer.Write([]byte("event: " + event.Type + "\n")); err != nil {
1228 return err
1229 }
1230 if _, err = c.Writer.Write([]byte("data: " + string(encoded) + "\n\n")); err != nil {
1231 return err
1232 }
1233 if err = helper.FlushWriter(c); err != nil {
1234 return err
1235 }
1236 logger.LogDebug(
1237 c,
1238 "task_plugin subsystem=protocol event=sse_event_sent event_type=%q sequence=%d",
1239 event.Type,
1240 event.SequenceNumber,
1241 )
1242 return nil
1243}
1244
1245func respondPluginProtocolSubmissionError(c *gin.Context, taskErr *dto.TaskError) {
1246 status := http.StatusInternalServerError

Callers 3

streamTaskPluginProtocolFunction · 0.85

Calls 5

ExtendWriteDeadlineFunction · 0.92
FlushWriterFunction · 0.92
LogDebugFunction · 0.92
MarshalMethod · 0.80
WriteMethod · 0.45

Tested by

no test coverage detected