| 417 | } |
| 418 | |
| 419 | fn to_downstream_message(message: UpstreamMessage) -> Option<Message> { |
| 420 | match message { |
| 421 | UpstreamMessage::Text(text) => Some(Message::Text(text.to_string().into())), |
| 422 | UpstreamMessage::Binary(bytes) => Some(Message::Binary(bytes)), |
| 423 | UpstreamMessage::Ping(bytes) => Some(Message::Ping(bytes)), |
| 424 | UpstreamMessage::Pong(bytes) => Some(Message::Pong(bytes)), |
| 425 | UpstreamMessage::Close(_) | UpstreamMessage::Frame(_) => None, |
| 426 | } |
| 427 | } |
| 428 | |
| 429 | async fn fetch_devtools_target_list(port: u16) -> Result<Value, String> { |
| 430 | let mut errors = Vec::new(); |