1- use anda_core:: BoxError ;
1+ use anda_core:: { BoxError , Json } ;
22use anda_engine:: engine:: Engine ;
33use axum:: { Router , routing} ;
44use candid:: Principal ;
@@ -25,6 +25,7 @@ pub struct ServerBuilder {
2525 engines : BTreeMap < Principal , Engine > ,
2626 default_engine : Option < Principal > ,
2727 middlewares : Vec < Arc < dyn HttpMiddleware > > ,
28+ extra_info : BTreeMap < String , Json > ,
2829}
2930
3031impl Default for ServerBuilder {
@@ -46,6 +47,7 @@ impl ServerBuilder {
4647 engines : BTreeMap :: new ( ) ,
4748 default_engine : None ,
4849 middlewares : Vec :: new ( ) ,
50+ extra_info : BTreeMap :: new ( ) ,
4951 }
5052 }
5153
@@ -69,6 +71,11 @@ impl ServerBuilder {
6971 self
7072 }
7173
74+ pub fn with_extra_info ( mut self , extra_info : BTreeMap < String , Json > ) -> Self {
75+ self . extra_info = extra_info;
76+ self
77+ }
78+
7279 pub fn with_engines (
7380 mut self ,
7481 mut engines : BTreeMap < Principal , Engine > ,
@@ -163,6 +170,7 @@ impl ServerBuilder {
163170 engines : Arc :: new ( self . engines ) ,
164171 default_engine,
165172 start_time_ms : unix_ms ( ) ,
173+ extra_info : Arc :: new ( self . extra_info ) ,
166174 } ;
167175
168176 // Build a router that is still "missing" an `AppState`.
0 commit comments