Added some API doc comments
This commit is contained in:
@@ -10,6 +10,10 @@ use tokio::sync::mpsc;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(tag = "type", rename_all = "snake_case")]
|
||||
/// WebSocket request messages sent by the client.
|
||||
///
|
||||
/// - `chat` starts a streaming chat session.
|
||||
/// - `cancel` stops the active session.
|
||||
enum WsRequest {
|
||||
Chat {
|
||||
messages: Vec<Message>,
|
||||
@@ -20,6 +24,11 @@ enum WsRequest {
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[serde(tag = "type", rename_all = "snake_case")]
|
||||
/// WebSocket response messages sent by the server.
|
||||
///
|
||||
/// - `token` streams partial model output.
|
||||
/// - `update` pushes the updated message history.
|
||||
/// - `error` reports a request or processing failure.
|
||||
enum WsResponse {
|
||||
Token { content: String },
|
||||
Update { messages: Vec<Message> },
|
||||
@@ -27,6 +36,9 @@ enum WsResponse {
|
||||
}
|
||||
|
||||
#[handler]
|
||||
/// WebSocket endpoint for streaming chat responses and cancellation.
|
||||
///
|
||||
/// Accepts JSON `WsRequest` messages and streams `WsResponse` messages.
|
||||
pub async fn ws_handler(ws: WebSocket, ctx: Data<&AppContext>) -> impl poem::IntoResponse {
|
||||
let ctx = ctx.0.clone();
|
||||
ws.on_upgrade(move |socket| async move {
|
||||
|
||||
Reference in New Issue
Block a user