cdk-axum 0.11.1

Cashu CDK axum webserver
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use cdk::ws::{WsResponseResult, WsUnsubscribeRequest, WsUnsubscribeResponse};

use super::{WsContext, WsError};

pub(crate) async fn handle(
    context: &mut WsContext,
    req: WsUnsubscribeRequest,
) -> Result<WsResponseResult, WsError> {
    if context.subscriptions.remove(&req.sub_id).is_some() {
        Ok(WsUnsubscribeResponse {
            status: "OK".to_string(),
            sub_id: req.sub_id,
        }
        .into())
    } else {
        Err(WsError::InvalidParams)
    }
}