|  |  |  | @ -802,6 +802,23 @@ impl<H: HttpSend> MastodonUnauth<H> { | 
			
		
	
		
			
				
					|  |  |  |  |     fn send(&self, req: RequestBuilder) -> Result<Response> { | 
			
		
	
		
			
				
					|  |  |  |  |         Ok(self.http_sender.send(&self.client, req)?) | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /// Get a stream of the public timeline
 | 
			
		
	
		
			
				
					|  |  |  |  |     pub fn streaming_public(&self) -> Result<EventReader<WebSocket>> { | 
			
		
	
		
			
				
					|  |  |  |  |         let mut url: url::Url = self.route("/api/v1/streaming/public/local")?; | 
			
		
	
		
			
				
					|  |  |  |  |         url.query_pairs_mut().append_pair("stream", "public"); | 
			
		
	
		
			
				
					|  |  |  |  |         let mut url: url::Url = reqwest::get(url.as_str())?.url().as_str().parse()?; | 
			
		
	
		
			
				
					|  |  |  |  |         let new_scheme = match url.scheme() { | 
			
		
	
		
			
				
					|  |  |  |  |             "http" => "ws", | 
			
		
	
		
			
				
					|  |  |  |  |             "https" => "wss", | 
			
		
	
		
			
				
					|  |  |  |  |             x => return Err(Error::Other(format!("Bad URL scheme: {}", x))), | 
			
		
	
		
			
				
					|  |  |  |  |         }; | 
			
		
	
		
			
				
					|  |  |  |  |         url.set_scheme(new_scheme).map_err(|_| Error::Other("Bad URL scheme!".to_string()))?; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         let client = tungstenite::connect(url.as_str())?.0; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         Ok(EventReader(WebSocket(client))) | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | impl<H: HttpSend> MastodonUnauthenticated<H> for MastodonUnauth<H> { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |