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}