|
@@ -1,34 +1,29 @@
|
|
|
use crate::{
|
|
|
error::SystemError,
|
|
|
- request::EventRequest,
|
|
|
- response::{data::ResponseData, Responder},
|
|
|
+ request::{Data, EventRequest, Payload},
|
|
|
+ response::Responder,
|
|
|
};
|
|
|
-
|
|
|
-use crate::request::Data;
|
|
|
-
|
|
|
use std::{fmt, fmt::Formatter};
|
|
|
|
|
|
-#[derive(Clone, Debug, Eq, PartialEq)]
|
|
|
-// #[cfg_attr(feature = "use_serde", derive(Serialize, Deserialize))]
|
|
|
+#[derive(Clone, Debug, Eq, PartialEq, serde::Serialize)]
|
|
|
pub enum StatusCode {
|
|
|
Ok = 0,
|
|
|
Err = 1,
|
|
|
}
|
|
|
|
|
|
// serde user guide: https://serde.rs/field-attrs.html
|
|
|
-#[derive(Debug, Clone)]
|
|
|
-// #[cfg_attr(feature = "use_serde", derive(Serialize))]
|
|
|
+#[derive(Debug, Clone, serde::Serialize)]
|
|
|
pub struct EventResponse {
|
|
|
- pub data: ResponseData,
|
|
|
- pub status: StatusCode,
|
|
|
+ pub payload: Payload,
|
|
|
+ pub status_code: StatusCode,
|
|
|
pub error: Option<SystemError>,
|
|
|
}
|
|
|
|
|
|
impl EventResponse {
|
|
|
- pub fn new(status: StatusCode) -> Self {
|
|
|
+ pub fn new(status_code: StatusCode) -> Self {
|
|
|
EventResponse {
|
|
|
- data: ResponseData::None,
|
|
|
- status,
|
|
|
+ payload: Payload::None,
|
|
|
+ status_code,
|
|
|
error: None,
|
|
|
}
|
|
|
}
|
|
@@ -36,11 +31,11 @@ impl EventResponse {
|
|
|
|
|
|
impl std::fmt::Display for EventResponse {
|
|
|
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
|
|
|
- f.write_fmt(format_args!("Status_Code: {:?}", self.status))?;
|
|
|
+ f.write_fmt(format_args!("Status_Code: {:?}", self.status_code))?;
|
|
|
|
|
|
- match &self.data {
|
|
|
- ResponseData::Bytes(b) => f.write_fmt(format_args!("Data: {} bytes", b.len()))?,
|
|
|
- ResponseData::None => f.write_fmt(format_args!("Data: Empty"))?,
|
|
|
+ match &self.payload {
|
|
|
+ Payload::Bytes(b) => f.write_fmt(format_args!("Data: {} bytes", b.len()))?,
|
|
|
+ Payload::None => f.write_fmt(format_args!("Data: Empty"))?,
|
|
|
}
|
|
|
match &self.error {
|
|
|
Some(e) => f.write_fmt(format_args!("Error: {:?}", e))?,
|
|
@@ -56,28 +51,6 @@ impl Responder for EventResponse {
|
|
|
fn respond_to(self, _: &EventRequest) -> EventResponse { self }
|
|
|
}
|
|
|
|
|
|
-#[cfg(feature = "use_serde")]
|
|
|
-fn serialize_error<S>(error: &Option<SystemError>, serializer: S) -> Result<S::Ok, S::Error>
|
|
|
-where
|
|
|
- S: Serializer,
|
|
|
-{
|
|
|
- match error {
|
|
|
- Some(e) => serializer.serialize_str(&format!("{:?}", e)),
|
|
|
- None => serializer.serialize_str(""),
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-#[cfg(feature = "use_serde")]
|
|
|
-fn serialize_data<S>(data: &ResponseData, serializer: S) -> Result<S::Ok, S::Error>
|
|
|
-where
|
|
|
- S: Serializer,
|
|
|
-{
|
|
|
- match data {
|
|
|
- ResponseData::Bytes(bytes) => serializer.serialize_str(&format!("{} bytes", bytes.len())),
|
|
|
- ResponseData::None => serializer.serialize_str(""),
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
pub fn response_ok<T, E>(data: T) -> Result<Data<T>, E>
|
|
|
where
|
|
|
E: Into<SystemError>,
|