@@ -7,13 +7,13 @@ use std::path::{Path, PathBuf};
77use serde:: Deserialize ;
88use thiserror:: Error ;
99
10- use crate :: { Cli , HeaderArg , OutputFormat , Transport } ;
10+ use crate :: { Binding , Cli , HeaderArg , OutputFormat } ;
1111
1212#[ derive( Debug , Clone , Default , Deserialize ) ]
1313#[ serde( deny_unknown_fields) ]
1414pub struct Config {
1515 #[ serde( default ) ]
16- pub transports : Vec < String > ,
16+ pub enabled_bindings : Vec < String > ,
1717 #[ serde( default ) ]
1818 pub bearer_token : Option < String > ,
1919 #[ serde( default ) ]
@@ -84,13 +84,13 @@ pub fn apply_config(
8484 let placeholder = PathBuf :: from ( "<config>" ) ;
8585 let p = path. as_ref ( ) . unwrap_or ( & placeholder) ;
8686
87- // Transports : CLI wins if any flags were given
88- if cli. transports . is_empty ( ) && !config. transports . is_empty ( ) {
89- for s in & config. transports {
90- let transport = parse_transport_str ( s) . ok_or_else ( || {
87+ // Enabled bindings : CLI wins if any flags were given
88+ if cli. enabled_bindings . is_empty ( ) && !config. enabled_bindings . is_empty ( ) {
89+ for s in & config. enabled_bindings {
90+ let binding = parse_binding_str ( s) . ok_or_else ( || {
9191 ConfigError :: Invalid ( p. clone ( ) , format ! ( "unknown transport: {s:?}" ) )
9292 } ) ?;
93- cli. transports . push ( transport ) ;
93+ cli. enabled_bindings . push ( binding ) ;
9494 }
9595 }
9696
@@ -125,12 +125,12 @@ pub fn apply_config(
125125 Ok ( ( ) )
126126}
127127
128- fn parse_transport_str ( s : & str ) -> Option < Transport > {
128+ fn parse_binding_str ( s : & str ) -> Option < Binding > {
129129 match s {
130- "jsonrpc" => Some ( Transport :: Jsonrpc ) ,
131- "http-json" => Some ( Transport :: HttpJson ) ,
130+ "jsonrpc" => Some ( Binding :: Jsonrpc ) ,
131+ "http-json" => Some ( Binding :: HttpJson ) ,
132132 #[ cfg( feature = "slimrpc" ) ]
133- "slimrpc" => Some ( Transport :: Slimrpc ) ,
133+ "slimrpc" => Some ( Binding :: Slimrpc ) ,
134134 _ => None ,
135135 }
136136}
@@ -146,7 +146,7 @@ fn parse_output_format(s: &str) -> Option<OutputFormat> {
146146#[ cfg( test) ]
147147mod tests {
148148 use super :: * ;
149- use crate :: { OutputFormat , Transport } ;
149+ use crate :: { Binding , OutputFormat } ;
150150
151151 fn parse_config ( yaml : & str ) -> Config {
152152 serde_yaml:: from_str ( yaml) . unwrap ( )
@@ -155,7 +155,7 @@ mod tests {
155155 fn empty_cli ( ) -> Cli {
156156 use crate :: Command ;
157157 Cli {
158- transports : vec ! [ ] ,
158+ enabled_bindings : vec ! [ ] ,
159159 bearer_token : None ,
160160 headers : vec ! [ ] ,
161161 output : None ,
@@ -218,8 +218,8 @@ mod tests {
218218
219219 #[ test]
220220 fn test_parse_valid_config ( ) {
221- let cfg = parse_config ( "transports :\n - jsonrpc\n bearer_token: tok\n output: json\n " ) ;
222- assert_eq ! ( cfg. transports , vec![ "jsonrpc" ] ) ;
221+ let cfg = parse_config ( "enabled_bindings :\n - jsonrpc\n bearer_token: tok\n output: json\n " ) ;
222+ assert_eq ! ( cfg. enabled_bindings , vec![ "jsonrpc" ] ) ;
223223 assert_eq ! ( cfg. bearer_token. as_deref( ) , Some ( "tok" ) ) ;
224224 assert_eq ! ( cfg. output. as_deref( ) , Some ( "json" ) ) ;
225225 }
@@ -233,20 +233,20 @@ mod tests {
233233 #[ test]
234234 fn test_apply_fills_empty_cli ( ) {
235235 let mut cli = empty_cli ( ) ;
236- let cfg = parse_config ( "transports :\n - http-json\n bearer_token: tok\n output: json\n " ) ;
236+ let cfg = parse_config ( "enabled_bindings :\n - http-json\n bearer_token: tok\n output: json\n " ) ;
237237 apply_config ( & mut cli, & cfg, & None ) . unwrap ( ) ;
238- assert_eq ! ( cli. transports , vec![ crate :: Transport :: HttpJson ] ) ;
238+ assert_eq ! ( cli. enabled_bindings , vec![ crate :: Binding :: HttpJson ] ) ;
239239 assert_eq ! ( cli. bearer_token. as_deref( ) , Some ( "tok" ) ) ;
240240 assert_eq ! ( cli. output, Some ( OutputFormat :: Json ) ) ;
241241 }
242242
243243 #[ test]
244- fn test_cli_transports_take_precedence ( ) {
244+ fn test_cli_bindings_take_precedence ( ) {
245245 let mut cli = empty_cli ( ) ;
246- cli. transports = vec ! [ Transport :: Jsonrpc ] ;
247- let cfg = parse_config ( "transports :\n - http-json\n " ) ;
246+ cli. enabled_bindings = vec ! [ Binding :: Jsonrpc ] ;
247+ let cfg = parse_config ( "enabled_bindings :\n - http-json\n " ) ;
248248 apply_config ( & mut cli, & cfg, & None ) . unwrap ( ) ;
249- assert_eq ! ( cli. transports , vec![ Transport :: Jsonrpc ] ) ;
249+ assert_eq ! ( cli. enabled_bindings , vec![ Binding :: Jsonrpc ] ) ;
250250 }
251251
252252 #[ test]
@@ -264,9 +264,9 @@ mod tests {
264264 }
265265
266266 #[ test]
267- fn test_invalid_transport_errors ( ) {
267+ fn test_invalid_binding_errors ( ) {
268268 let mut cli = empty_cli ( ) ;
269- let cfg = parse_config ( "transports :\n - bogus\n " ) ;
269+ let cfg = parse_config ( "enabled_bindings :\n - bogus\n " ) ;
270270 let err = apply_config ( & mut cli, & cfg, & None ) . unwrap_err ( ) ;
271271 assert ! ( err. to_string( ) . contains( "unknown transport" ) ) ;
272272 }
0 commit comments