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:
authorDanConwayDev <DanConwayDev@protonmail.com>2023-12-01 00:00:00 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2023-12-01 00:00:00 +0000
commit06be0bc44011411b78217459f505ed12281b32c4 (patch)
tree36cab80e309d33f20fedcc97258700a379aa348e /test_utils/src/relay.rs
parent492cc67887855cecb3fb501c4b61af50bf645b73 (diff)
feat(prs-list) list and pull selected as branch
- fetch prs and present as a selectable list - create and / or checkout branch for selected pr - apply latest patches as commits
Diffstat (limited to 'test_utils/src/relay.rs')
-rw-r--r--test_utils/src/relay.rs33
1 files changed, 32 insertions, 1 deletions
diff --git a/test_utils/src/relay.rs b/test_utils/src/relay.rs
index 4ef34e6..50f6337 100644
--- a/test_utils/src/relay.rs
+++ b/test_utils/src/relay.rs
@@ -91,6 +91,27 @@ impl<'a> Relay<'a> {
91 self.respond_eose(client_id, subscription_id.clone()) 91 self.respond_eose(client_id, subscription_id.clone())
92 } 92 }
93 93
94 /// send collected events, filtered by filters, and eose
95 pub fn respond_standard_req(
96 &self,
97 client_id: u64,
98 subscription_id: &nostr::SubscriptionId,
99 filters: &[nostr::Filter],
100 ) -> Result<bool> {
101 // let t: Vec<nostr::Kind> = self.events.iter().map(|e| e.kind).collect();
102 // .filter(|e| filters.iter().any(|filter| filter.match_event(e)))
103 // println!("letsgo{:?}", t);
104 self.respond_events(
105 client_id,
106 subscription_id,
107 &self
108 .events
109 .iter()
110 .filter(|e| filters.iter().any(|filter| filter.match_event(e)))
111 .cloned()
112 .collect(),
113 )
114 }
94 /// listen, collect events and responds with event_listener to events or 115 /// listen, collect events and responds with event_listener to events or
95 /// Ok(eventid) if event_listner is None 116 /// Ok(eventid) if event_listner is None
96 pub async fn listen_until_close(&mut self) -> Result<()> { 117 pub async fn listen_until_close(&mut self) -> Result<()> {
@@ -108,6 +129,8 @@ impl<'a> Relay<'a> {
108 // break; 129 // break;
109 } 130 }
110 simple_websockets::Event::Message(client_id, message) => { 131 simple_websockets::Event::Message(client_id, message) => {
132 // println!("bla{:?}", &message);
133
111 println!( 134 println!(
112 "{} Received a message from client #{}: {:?}", 135 "{} Received a message from client #{}: {:?}",
113 self.port, client_id, message 136 self.port, client_id, message
@@ -118,8 +141,15 @@ impl<'a> Relay<'a> {
118 break; 141 break;
119 } 142 }
120 } 143 }
144 // println!("{:?}", &message);
121 if let Ok(event) = get_nevent(&message) { 145 if let Ok(event) = get_nevent(&message) {
146 // println!("{:?}", &event);
147 // let t: Vec<nostr::Kind> = self.events.iter().map(|e| e.kind).collect();
148 // println!("before{:?}", t);
122 self.events.push(event.clone()); 149 self.events.push(event.clone());
150 // let t: Vec<nostr::Kind> = self.events.iter().map(|e| e.kind).collect();
151 // println!("after{:?}", t);
152
123 if let Some(listner) = self.event_listener { 153 if let Some(listner) = self.event_listener {
124 listner(self, client_id, event)?; 154 listner(self, client_id, event)?;
125 } else { 155 } else {
@@ -132,7 +162,8 @@ impl<'a> Relay<'a> {
132 if let Some(listner) = self.req_listener { 162 if let Some(listner) = self.req_listener {
133 listner(self, client_id, subscription_id, filters)?; 163 listner(self, client_id, subscription_id, filters)?;
134 } else { 164 } else {
135 self.respond_eose(client_id, subscription_id)?; 165 self.respond_standard_req(client_id, &subscription_id, &filters)?;
166 // self.respond_eose(client_id, subscription_id)?;
136 } 167 }
137 // respond with events 168 // respond with events
138 // respond with EOSE 169 // respond with EOSE