diff options
Diffstat (limited to 'test_utils/src/relay.rs')
| -rw-r--r-- | test_utils/src/relay.rs | 27 |
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 | ||
| 208 | fn get_nreq( | 209 | fn 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") |