upleb.uk

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

summaryrefslogtreecommitdiff
path: root/test_utils/src/relay.rs
diff options
context:
space:
mode:
Diffstat (limited to 'test_utils/src/relay.rs')
-rw-r--r--test_utils/src/relay.rs27
1 files changed, 14 insertions, 13 deletions
diff --git a/test_utils/src/relay.rs b/test_utils/src/relay.rs
index 634b2d6..e820651 100644
--- a/test_utils/src/relay.rs
+++ b/test_utils/src/relay.rs
@@ -48,7 +48,7 @@ impl<'a> Relay<'a> {
48 let ok_json = RelayMessage::Ok { 48 let ok_json = RelayMessage::Ok {
49 event_id: event.id, 49 event_id: event.id,
50 status: error.is_none(), 50 status: error.is_none(),
51 message: error.unwrap_or("").to_string(), 51 message: error.unwrap_or("").to_string().into(),
52 } 52 }
53 .as_json(); 53 .as_json();
54 // bail!(format!("{}", &ok_json)); 54 // bail!(format!("{}", &ok_json));
@@ -63,7 +63,7 @@ impl<'a> Relay<'a> {
63 let responder = self.clients.get(&client_id).unwrap(); 63 let responder = self.clients.get(&client_id).unwrap();
64 64
65 Ok(responder.send(simple_websockets::Message::Text( 65 Ok(responder.send(simple_websockets::Message::Text(
66 RelayMessage::EndOfStoredEvents(subscription_id).as_json(), 66 RelayMessage::EndOfStoredEvents(std::borrow::Cow::Borrowed(&subscription_id)).as_json(),
67 ))) 67 )))
68 } 68 }
69 69
@@ -79,8 +79,8 @@ impl<'a> Relay<'a> {
79 for event in events { 79 for event in events {
80 let res = responder.send(simple_websockets::Message::Text( 80 let res = responder.send(simple_websockets::Message::Text(
81 RelayMessage::Event { 81 RelayMessage::Event {
82 subscription_id: subscription_id.clone(), 82 subscription_id: std::borrow::Cow::Borrowed(subscription_id),
83 event: Box::new(event.clone()), 83 event: std::borrow::Cow::Borrowed(event),
84 } 84 }
85 .as_json(), 85 .as_json(),
86 )); 86 ));
@@ -156,12 +156,14 @@ impl<'a> Relay<'a> {
156 } 156 }
157 } 157 }
158 158
159 if let Ok((subscription_id, filters)) = get_nreq(&message) { 159 if let Ok((subscription_id, filter)) = get_nreq(&message) {
160 self.reqs.push(filters.clone()); 160 self.reqs.push(vec![filter.clone()]);
161 if let Some(listner) = self.req_listener { 161 if let Some(listner) = self.req_listener {
162 listner(self, client_id, subscription_id, filters)?; 162 listner(self, client_id, subscription_id, vec![filter.clone()])?;
163 } else { 163 } else {
164 self.respond_standard_req(client_id, &subscription_id, &filters)?; 164 self.respond_standard_req(client_id, &subscription_id, &[
165 filter.clone()
166 ])?;
165 // self.respond_eose(client_id, subscription_id)?; 167 // self.respond_eose(client_id, subscription_id)?;
166 } 168 }
167 // respond with events 169 // respond with events
@@ -198,8 +200,7 @@ fn get_nevent(message: &simple_websockets::Message) -> Result<nostr::Event> {
198 if let simple_websockets::Message::Text(s) = message.clone() { 200 if let simple_websockets::Message::Text(s) = message.clone() {
199 let cm_result = ClientMessage::from_json(s); 201 let cm_result = ClientMessage::from_json(s);
200 if let Ok(ClientMessage::Event(event)) = cm_result { 202 if let Ok(ClientMessage::Event(event)) = cm_result {
201 let e = *event; 203 return Ok(event.into_owned());
202 return Ok(e.clone());
203 } 204 }
204 } 205 }
205 bail!("not nostr event") 206 bail!("not nostr event")
@@ -207,15 +208,15 @@ fn get_nevent(message: &simple_websockets::Message) -> Result<nostr::Event> {
207 208
208fn get_nreq( 209fn get_nreq(
209 message: &simple_websockets::Message, 210 message: &simple_websockets::Message,
210) -> Result<(nostr::SubscriptionId, Vec<nostr::Filter>)> { 211) -> Result<(nostr::SubscriptionId, nostr::Filter)> {
211 if let simple_websockets::Message::Text(s) = message.clone() { 212 if let simple_websockets::Message::Text(s) = message.clone() {
212 let cm_result = ClientMessage::from_json(s); 213 let cm_result = ClientMessage::from_json(s);
213 if let Ok(ClientMessage::Req { 214 if let Ok(ClientMessage::Req {
214 subscription_id, 215 subscription_id,
215 filters, 216 filter,
216 }) = cm_result 217 }) = cm_result
217 { 218 {
218 return Ok((subscription_id, filters)); 219 return Ok((subscription_id.into_owned(), filter.into_owned()));
219 } 220 }
220 } 221 }
221 bail!("not nostr event") 222 bail!("not nostr event")