upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/grasp-audit/src/client.rs
diff options
context:
space:
mode:
Diffstat (limited to 'grasp-audit/src/client.rs')
-rw-r--r--grasp-audit/src/client.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/grasp-audit/src/client.rs b/grasp-audit/src/client.rs
index 019f4cb..35aaccd 100644
--- a/grasp-audit/src/client.rs
+++ b/grasp-audit/src/client.rs
@@ -84,6 +84,25 @@ impl AuditClient {
84 self.keys.public_key() 84 self.keys.public_key()
85 } 85 }
86 86
87 /// Get the relay URL
88 pub async fn relay_url(&self) -> Result<String> {
89 let relays = self.client.relays().await;
90 let relay = relays.values().next()
91 .ok_or_else(|| anyhow!("No relays configured"))?;
92 Ok(relay.url().to_string())
93 }
94
95 /// Convert WebSocket URL to HTTP(S) URL for NIP-11 requests
96 pub fn ws_to_http_url(ws_url: &str) -> Result<String> {
97 if ws_url.starts_with("ws://") {
98 Ok(ws_url.replace("ws://", "http://"))
99 } else if ws_url.starts_with("wss://") {
100 Ok(ws_url.replace("wss://", "https://"))
101 } else {
102 Err(anyhow!("Invalid WebSocket URL: {}", ws_url))
103 }
104 }
105
87 /// Check if connected to relay 106 /// Check if connected to relay
88 pub async fn is_connected(&self) -> bool { 107 pub async fn is_connected(&self) -> bool {
89 // Check if we have any connected relays 108 // Check if we have any connected relays