1#![feature(try_trait_v2)]
2
3use std::{error::Error, fmt};
4
5#[derive(Debug)]
6pub struct Response {
7 pub code: u16,
8 pub body: Vec<u8>,
9}
10
11impl From<(u16, Vec<u8>)> for Response {
12 fn from((code, body): (u16, Vec<u8>)) -> Self {
13 Response { code, body }
14 }
15}
16
17impl From<u16> for Response {
18 fn from(code: u16) -> Self {
19 Response { code, body: vec![] }
20 }
21}
22
23impl fmt::Display for Response {
24 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
25 write!(f, "Response {} : {:?}", self.code, self.body)
26 }
27}
28
29impl Error for Response {}
30
31#[cfg(feature = "err")]
32mod err;
33
34#[cfg(feature = "err")]
35pub use err::*;
36
37