pub async fn unsubscribe(
__arg0: State<RestState>,
rec: Option<Extension<Arc<KeyRecord>>>,
__arg2: Json<Value>,
) -> Result<Json<Value>, (StatusCode, Json<Value>)>Expand description
POST /api/unsubscribe-all — 反订阅(或 unsub_all)
复用 qot_sub proto,需要用户传 is_sub_or_un_sub=false 或
is_unsub_all=true。这是给 REST 直接调用者的便捷端点。
v1.4.90 P0-B fix: 用 REST_SHARED_CONN 替代 state.next_conn_id() —
必须与 subscribe path 用同一 conn_id, 否则 SubscriptionManager 找不到任何
挂载, unsubscribe 静默 no-op, quota 永不释放.
v1.4.104 codex round 3 F1 (P1) fix: /api/unsubscribe 是 sibling
route 也复用 QOT_SUB proto + REST_SHARED_CONN, 之前 F5 fix 只在
subscribe() 加 body_requests_unsub_all() reject — 用户切到
/api/unsubscribe 仍可 process-wide unsub all REST callers’ subs.
真 runtime path bypass. 现在两条 REST 路径统一走相同 reject.