[pdm-devel] [PATCH datacenter-manager 18/21] ui: pve wizard: connect: factor out normalize_hostname
Dominik Csapak
d.csapak at proxmox.com
Fri May 16 15:36:08 CEST 2025
we'll use this later again
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
ui/src/remotes/wizard_page_connect.rs | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/ui/src/remotes/wizard_page_connect.rs b/ui/src/remotes/wizard_page_connect.rs
index f6013f2..bdc6b7f 100644
--- a/ui/src/remotes/wizard_page_connect.rs
+++ b/ui/src/remotes/wizard_page_connect.rs
@@ -65,15 +65,7 @@ pub struct ConnectParams {
async fn connect(form_ctx: FormContext, remote_type: RemoteType) -> Result<ConnectParams, Error> {
let data = form_ctx.get_submit_data();
let mut data: ConnectParams = serde_json::from_value(data.clone())?;
- if let Some(hostname) = data.hostname.strip_prefix("http://") {
- data.hostname = hostname.to_string();
- }
- if let Some(hostname) = data.hostname.strip_prefix("https://") {
- data.hostname = hostname.to_string();
- }
- if let Some(hostname) = data.hostname.strip_suffix("/") {
- data.hostname = hostname.to_string();
- }
+ data.hostname = normalize_hostname(data.hostname);
let realms = match remote_type {
RemoteType::Pve => list_realms(data.hostname.clone(), data.fingerprint.clone()).await?,
@@ -234,6 +226,20 @@ impl Component for PdmWizardPageConnect {
}
}
+fn normalize_hostname(hostname: String) -> String {
+ let mut result = hostname;
+ if let Some(hostname) = result.strip_prefix("http://") {
+ result = hostname.to_string();
+ }
+ if let Some(hostname) = result.strip_prefix("https://") {
+ result = hostname.to_string();
+ }
+ if let Some(hostname) = result.strip_suffix("/") {
+ result = hostname.to_string();
+ }
+ result
+}
+
impl Into<VNode> for WizardPageConnect {
fn into(self) -> VNode {
let comp = VComp::new::<PdmWizardPageConnect>(Rc::new(self), None);
--
2.39.5
More information about the pdm-devel
mailing list