mysten_network/callback/
mod.rs1use http::{HeaderMap, request, response};
5
6mod body;
7mod future;
8mod layer;
9mod service;
10
11pub use self::{
12 body::ResponseBody, future::ResponseFuture, layer::CallbackLayer, service::Callback,
13};
14
15pub trait MakeCallbackHandler {
16 type Handler: ResponseHandler;
17
18 fn make_handler(&self, request: &request::Parts) -> Self::Handler;
19}
20
21pub trait ResponseHandler {
22 fn on_response(&mut self, response: &response::Parts);
23 fn on_error<E>(&mut self, error: &E)
24 where
25 E: std::fmt::Display + 'static;
26
27 fn on_body_chunk<B>(&mut self, _chunk: &B)
28 where
29 B: bytes::Buf,
30 {
31 }
33
34 fn on_end_of_stream(&mut self, _trailers: Option<&HeaderMap>) {
35 }
37}