pub struct StreamingResponseHandler<'a> { /* private fields */ }Expand description
Handler for streaming SSE response conversion. Processes Chat API SSE chunks and converts them to Responses API SSE events.
Implementations§
Source§impl<'a> StreamingResponseHandler<'a>
impl<'a> StreamingResponseHandler<'a>
Sourcepub fn new(
ctx: &'a mut ProxyContext,
provider: Option<Arc<dyn Provider>>,
log_body: bool,
conversation_store: Arc<ConversationStore>,
) -> Self
pub fn new( ctx: &'a mut ProxyContext, provider: Option<Arc<dyn Provider>>, log_body: bool, conversation_store: Arc<ConversationStore>, ) -> Self
Create a new streaming handler.
Sourcepub fn process_stream_frame(&mut self) -> Option<String>
pub fn process_stream_frame(&mut self) -> Option<String>
Process a single streaming frame/body chunk.
Parses SSE events from the accumulated response body (starting from last parsed offset), converts each ChatStreamChunk to Responses API events, and returns the combined SSE output.
Returns None if no conversion events were generated.
Sourcepub fn finalize_stream(&mut self) -> Vec<String>
pub fn finalize_stream(&mut self) -> Vec<String>
Finalize the stream by appending response.completed event.
Should be called at end_of_body when streaming conversion is enabled. Returns SSE events for the completed response, including [DONE] marker.
Auto Trait Implementations§
impl<'a> Freeze for StreamingResponseHandler<'a>
impl<'a> !RefUnwindSafe for StreamingResponseHandler<'a>
impl<'a> Send for StreamingResponseHandler<'a>
impl<'a> Sync for StreamingResponseHandler<'a>
impl<'a> Unpin for StreamingResponseHandler<'a>
impl<'a> UnsafeUnpin for StreamingResponseHandler<'a>
impl<'a> !UnwindSafe for StreamingResponseHandler<'a>
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more