From be656c239ab186640a1b98db33110c03ffe7fe98 Mon Sep 17 00:00:00 2001 From: Panagiotis Ganelis <50522617+PanGan21@users.noreply.github.com> Date: Sat, 15 Jul 2023 13:33:33 +0300 Subject: [PATCH] feat: trim cmd args in parser (#3789) --- bin/reth/src/args/rpc_server_args.rs | 19 +++++++++++++++++++ crates/rpc/rpc-builder/src/lib.rs | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/bin/reth/src/args/rpc_server_args.rs b/bin/reth/src/args/rpc_server_args.rs index 9e7b890e0c..230741885b 100644 --- a/bin/reth/src/args/rpc_server_args.rs +++ b/bin/reth/src/args/rpc_server_args.rs @@ -526,6 +526,25 @@ mod tests { ); } + #[test] + fn test_transport_rpc_module_trim_config() { + let args = CommandParser::::parse_from([ + "reth", + "--http.api", + " eth, admin, debug", + "--http", + "--ws", + ]) + .args; + let config = args.transport_rpc_module_config(); + let expected = vec![RethRpcModule::Eth, RethRpcModule::Admin, RethRpcModule::Debug]; + assert_eq!(config.http().cloned().unwrap().into_selection(), expected); + assert_eq!( + config.ws().cloned().unwrap().into_selection(), + RpcModuleSelection::standard_modules() + ); + } + #[test] fn test_rpc_server_config() { let args = CommandParser::::parse_from([ diff --git a/crates/rpc/rpc-builder/src/lib.rs b/crates/rpc/rpc-builder/src/lib.rs index eb9f0d1fd3..7013131ec5 100644 --- a/crates/rpc/rpc-builder/src/lib.rs +++ b/crates/rpc/rpc-builder/src/lib.rs @@ -604,7 +604,7 @@ impl FromStr for RpcModuleSelection { type Err = ParseError; fn from_str(s: &str) -> Result { - let mut modules = s.split(',').peekable(); + let mut modules = s.split(',').map(str::trim).peekable(); let first = modules.peek().copied().ok_or(ParseError::VariantNotFound)?; match first { "all" | "All" => Ok(RpcModuleSelection::All),