MCPcopy Create free account
hub / github.com/Louisym/MiniCC / _take_event

Method _take_event

tutorials/10_sse_streaming.py:241–268  ·  view source on GitHub ↗

提取当前积累的事件数据,组装成 SseEvent。 提取后重置内部状态,准备解析下一个事件。 对应源码: runtime/sse.rs:82-96 (take_event)

(self)

Source from the content-addressed store, hash-verified

239 # 其他未知字段直接忽略(SSE 规范要求的)
240
241 def _take_event(self) -> Optional[SseEvent]:
242 """
243 提取当前积累的事件数据,组装成 SseEvent。
244 提取后重置内部状态,准备解析下一个事件。
245
246 对应源码: runtime/sse.rs:82-96 (take_event)
247 """
248 # 如果什么数据都没有,说明没有有效事件
249 if not self._data_lines and not self._event_name and not self._id and self._retry is None:
250 return None
251
252 # 多行 data 用换行符拼接(SSE 规范)
253 data = "\n".join(self._data_lines)
254 self._data_lines = []
255
256 event = SseEvent(
257 event=self._event_name,
258 data=data,
259 id=self._id,
260 retry=self._retry,
261 )
262
263 # 重置状态
264 self._event_name = None
265 self._id = None
266 self._retry = None
267
268 return event
269
270
271# ============================================================

Callers 2

finishMethod · 0.95
_process_lineMethod · 0.95

Calls 1

SseEventClass · 0.70

Tested by

no test coverage detected