You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			33 lines
		
	
	
		
			798 B
		
	
	
	
		
			TypeScript
		
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			798 B
		
	
	
	
		
			TypeScript
		
	
| 
											5 years ago
										 | import { processMessage, SwarmPolling } from './swarmPolling'; | ||
|  | import fetch from 'node-fetch'; | ||
|  | import { PubKey } from '../types'; | ||
|  | 
 | ||
|  | export class SwarmPollingStub extends SwarmPolling { | ||
|  |   private readonly baseUrl = 'http://localhost:3000'; | ||
|  | 
 | ||
|  |   protected async pollOnceForKey(pubkey: PubKey, isGroup: boolean) { | ||
|  |     const pubkeyStr = pubkey.key ? pubkey.key : pubkey; | ||
|  | 
 | ||
|  |     const get = { | ||
|  |       method: 'GET', | ||
|  |     }; | ||
|  | 
 | ||
|  |     const res = await fetch( | ||
|  |       `${this.baseUrl}/messages?pubkey=${pubkeyStr}`, | ||
|  |       get | ||
|  |     ); | ||
|  | 
 | ||
|  |     try { | ||
|  |       const json = await res.json(); | ||
|  | 
 | ||
|  |       const options = isGroup ? { conversationId: pubkeyStr } : {}; | ||
|  | 
 | ||
|  |       json.messages.forEach((m: any) => { | ||
|  |         processMessage(m.data, options); | ||
|  |       }); | ||
|  |     } catch (e) { | ||
|  |       window.log.error('invalid json: ', e); | ||
|  |     } | ||
|  |   } | ||
|  | } |