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