iota_network_stack/callback/
mod.rs

1// Copyright (c) Mysten Labs, Inc.
2// Modifications Copyright (c) 2024 IOTA Stiftung
3// SPDX-License-Identifier: Apache-2.0
4
5use http::{request, response};
6
7mod future;
8mod layer;
9mod service;
10
11pub use self::{future::ResponseFuture, layer::CallbackLayer, service::Callback};
12
13pub trait MakeCallbackHandler {
14    type Handler: ResponseHandler;
15
16    fn make_handler(&self, request: &request::Parts) -> Self::Handler;
17}
18
19pub trait ResponseHandler {
20    fn on_response(self, response: &response::Parts);
21    fn on_error<E>(self, error: &E);
22}