rusftx/rest/request.rs
1use std::borrow::Cow;
2
3pub trait Request {
4 type Response: serde::de::DeserializeOwned;
5 type Query: serde::Serialize;
6 type Body: serde::Serialize;
7
8 fn path(&self) -> Cow<str>;
9 fn method(&self) -> http::Method;
10 fn query(&self) -> Option<Self::Query> {
11 None
12 }
13 fn body(&self) -> Option<Self::Body> {
14 None
15 }
16}
17
18pub trait UnauthenticatedRequest: Request {}
19
20pub trait AuthenticatedRequest: Request {}