(&self, server_name: &str)
| 408 | } |
| 409 | |
| 410 | pub async fn get_server(&self, server_name: &str) -> Option<McpServerInfo> { |
| 411 | if let Some(status) = self.statuses.read().await.get(server_name) { |
| 412 | return Some(status.clone()); |
| 413 | } |
| 414 | |
| 415 | let managed = self.servers.read().await.get(server_name).cloned()?; |
| 416 | Some( |
| 417 | self.default_status_for( |
| 418 | server_name, |
| 419 | &managed, |
| 420 | self.oauth_status_for(server_name).await, |
| 421 | ) |
| 422 | .await, |
| 423 | ) |
| 424 | } |
| 425 | |
| 426 | pub async fn list_servers(&self) -> Vec<McpServerInfo> { |
| 427 | let servers = self.servers.read().await.clone(); |
no test coverage detected