From 15a2c6704ffe33b20dab8be9c21212a560b5b1de Mon Sep 17 00:00:00 2001 From: Richard Westhaver Date: Wed, 31 Jan 2024 13:31:59 -0500 Subject: [PATCH 1/2] Allow 'url join' to print username without password --- crates/nu-command/src/network/url/join.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/crates/nu-command/src/network/url/join.rs b/crates/nu-command/src/network/url/join.rs index 1d4b5bc8b919..2a93d335787a 100644 --- a/crates/nu-command/src/network/url/join.rs +++ b/crates/nu-command/src/network/url/join.rs @@ -317,13 +317,11 @@ impl UrlComponents { } pub fn to_url(&self, span: Span) -> Result { - let mut user_and_pwd: String = String::from(""); - - if let Some(usr) = &self.username { - if let Some(pwd) = &self.password { - user_and_pwd = format!("{usr}:{pwd}@"); - } - } + let user_and_pwd = match (&self.username, &self.password) { + (Some(usr), Some(pwd)) => format!("{usr}:{pwd}@"), + (Some(usr), None) => format!("{usr}@"), + _ => String::from(""), + }; let scheme_result = match &self.scheme { Some(s) => Ok(s), From 6a74a28d60d09441f452badf5f676707b7105951 Mon Sep 17 00:00:00 2001 From: Richard Westhaver Date: Wed, 31 Jan 2024 16:26:08 -0500 Subject: [PATCH 2/2] fixed test case to reflect new url join behavior --- crates/nu-command/tests/commands/url/join.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/nu-command/tests/commands/url/join.rs b/crates/nu-command/tests/commands/url/join.rs index 9fa5ab16fc98..bafe7881f431 100644 --- a/crates/nu-command/tests/commands/url/join.rs +++ b/crates/nu-command/tests/commands/url/join.rs @@ -31,7 +31,7 @@ fn url_join_with_only_user() { "# )); - assert_eq!(actual.out, "http://localhost"); + assert_eq!(actual.out, "http://usr@localhost"); } #[test]