AppFlowy/frontend/rust-lib/flowy-server/src/response.rs

31 lines
686 B
Rust
Raw Normal View History

2023-01-30 03:11:19 +00:00
use bytes::Bytes;
use flowy_error::ErrorCode;
use serde::{Deserialize, Serialize};
use std::fmt;
#[derive(Debug, Serialize, Deserialize)]
pub struct HttpResponse {
pub data: Bytes,
#[serde(skip_serializing_if = "Option::is_none")]
pub error: Option<HttpError>,
2023-01-30 03:11:19 +00:00
}
#[derive(thiserror::Error, Debug, Serialize, Deserialize, Clone)]
pub struct HttpError {
pub code: ErrorCode,
pub msg: String,
2023-01-30 03:11:19 +00:00
}
impl HttpError {
#[allow(dead_code)]
pub fn is_unauthorized(&self) -> bool {
self.code == ErrorCode::UserUnauthorized
}
2023-01-30 03:11:19 +00:00
}
impl fmt::Display for HttpError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{:?}: {}", self.code, self.msg)
}
2023-01-30 03:11:19 +00:00
}