mirror of
https://github.com/Blah-IM/blahrs.git
synced 2025-07-02 12:35:33 +00:00
refactor(blahd,webapi)!: overhaul error type
Error types are now collected into a single place. Similar errors are merged. Request invariant violations are now all under 400 with type "invalid_request" if it's a client mistake; and if it's caused by a server restrction, under 403 with type "disabled".
This commit is contained in:
parent
5f03a4ca03
commit
0911d56e22
9 changed files with 267 additions and 312 deletions
|
@ -7,7 +7,7 @@ use std::sync::Arc;
|
|||
use std::task::{Context, Poll};
|
||||
use std::time::Duration;
|
||||
|
||||
use anyhow::{anyhow, bail, Context as _, Result};
|
||||
use anyhow::{bail, Context as _, Result};
|
||||
use axum::extract::ws::{Message, WebSocket};
|
||||
use blah_types::{AuthPayload, Signed, SignedChatMsg};
|
||||
use futures_util::future::Either;
|
||||
|
@ -143,10 +143,7 @@ pub async fn handle_ws(st: Arc<AppState>, ws: &mut WebSocket) -> Result<Infallib
|
|||
let auth = serde_json::from_str::<Signed<AuthPayload>>(&payload)?;
|
||||
st.verify_signed_data(&auth)?;
|
||||
|
||||
let (uid, _) = st
|
||||
.db
|
||||
.with_read(|txn| txn.get_user(&auth.signee.user))
|
||||
.map_err(|err| anyhow!("{}", err.message))?;
|
||||
let (uid, _) = st.db.with_read(|txn| txn.get_user(&auth.signee.user))?;
|
||||
uid
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue