(&self, server_name: &str)
| 464 | } |
| 465 | |
| 466 | pub async fn remove_oauth(&self, server_name: &str) -> bool { |
| 467 | let removed = self |
| 468 | .oauth_states |
| 469 | .write() |
| 470 | .await |
| 471 | .remove(server_name) |
| 472 | .is_some(); |
| 473 | self.log_event(server_name, "info", "OAuth state removed") |
| 474 | .await; |
| 475 | |
| 476 | if let Some(managed) = self.servers.read().await.get(server_name).cloned() { |
| 477 | let mut info = self |
| 478 | .statuses |
| 479 | .read() |
| 480 | .await |
| 481 | .get(server_name) |
| 482 | .cloned() |
| 483 | .unwrap_or_else(|| McpServerInfo { |
| 484 | name: server_name.to_string(), |
| 485 | status: "disabled".to_string(), |
| 486 | tools: 0, |
| 487 | resources: 0, |
| 488 | error: None, |
| 489 | oauth_required: managed.config.oauth_required(), |
| 490 | oauth_status: None, |
| 491 | }); |
| 492 | |
| 493 | info.oauth_status = None; |
| 494 | if managed.config.oauth_required() { |
| 495 | info.status = if managed.enabled { |
| 496 | "needs_auth".to_string() |
| 497 | } else { |
| 498 | "disabled".to_string() |
| 499 | }; |
| 500 | info.error = None; |
| 501 | } |
| 502 | self.statuses |
| 503 | .write() |
| 504 | .await |
| 505 | .insert(server_name.to_string(), info); |
| 506 | } |
| 507 | |
| 508 | removed |
| 509 | } |
| 510 | |
| 511 | async fn managed_server(&self, server_name: &str) -> Result<ManagedServer, McpOAuthError> { |
| 512 | self.servers |
no test coverage detected