Skip to content

Commit 855484c

Browse files
authored
Change UrlDiscovery attempts type from Vec to HashMap (#239)
1 parent b2c6a80 commit 855484c

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

wp_api/src/login/login_client.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ impl WpLoginClient {
7171
let attempts = attempts
7272
.into_iter()
7373
.map(|a| match a {
74-
Ok(s) => UrlDiscoveryState::Success(s),
75-
Err(e) => UrlDiscoveryState::Failure(e),
74+
Ok(s) => (s.site_url.url(), UrlDiscoveryState::Success(s)),
75+
Err(e) => (e.site_url(), UrlDiscoveryState::Failure(e)),
7676
})
7777
.collect();
7878
if let Some(s) = successful_attempt {

wp_api/src/login/url_discovery.rs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::sync::Arc;
1+
use std::{collections::HashMap, sync::Arc};
22

33
use crate::{
44
request::{WpNetworkHeaderMap, WpNetworkResponse},
@@ -55,18 +55,30 @@ pub enum UrlDiscoveryAttemptError {
5555
},
5656
}
5757

58+
impl UrlDiscoveryAttemptError {
59+
pub fn site_url(&self) -> String {
60+
match self {
61+
UrlDiscoveryAttemptError::FailedToParseSiteUrl { site_url, .. } => site_url.clone(),
62+
UrlDiscoveryAttemptError::FetchApiRootUrlFailed { site_url, .. } => site_url.url(),
63+
UrlDiscoveryAttemptError::FetchApiDetailsFailed { site_url, .. } => site_url.url(),
64+
}
65+
}
66+
}
67+
5868
#[derive(Debug, uniffi::Record)]
5969
pub struct UrlDiscoverySuccess {
6070
pub site_url: Arc<ParsedUrl>,
6171
pub api_details: Arc<WpApiDetails>,
6272
pub api_root_url: Arc<ParsedUrl>,
63-
pub attempts: Vec<UrlDiscoveryState>,
73+
pub attempts: HashMap<String, UrlDiscoveryState>,
6474
}
6575

6676
#[derive(Debug, thiserror::Error, uniffi::Error)]
6777
pub enum UrlDiscoveryError {
6878
#[error("Url discovery failed: {:?}", attempts)]
69-
UrlDiscoveryFailed { attempts: Vec<UrlDiscoveryState> },
79+
UrlDiscoveryFailed {
80+
attempts: HashMap<String, UrlDiscoveryState>,
81+
},
7082
}
7183

7284
#[derive(Debug)]

wp_api_integration_tests/src/lib.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,11 @@ impl<T: std::fmt::Debug, E: std::error::Error> AssertResponse for Result<T, E> {
171171
type Item = T;
172172

173173
fn assert_response(self) -> T {
174-
assert!(self.is_ok(), "Request failed with: {}", self.unwrap_err());
174+
assert!(
175+
self.is_ok(),
176+
"Request failed with: {:#?}",
177+
self.unwrap_err()
178+
);
175179
self.unwrap()
176180
}
177181
}

0 commit comments

Comments
 (0)