(gateway_name: &str, server: &str, tls: &TlsOptions)
| 528 | /// Show gateway status. |
| 529 | #[allow(clippy::branches_sharing_code)] |
| 530 | pub async fn gateway_status(gateway_name: &str, server: &str, tls: &TlsOptions) -> Result<()> { |
| 531 | println!("{}", "Server Status".cyan().bold()); |
| 532 | println!(); |
| 533 | println!(" {} {}", "Gateway:".dimmed(), gateway_name); |
| 534 | println!(" {} {}", "Server:".dimmed(), server); |
| 535 | if tls.is_bearer_auth() { |
| 536 | println!(" {} Edge (bearer token)", "Auth:".dimmed()); |
| 537 | } |
| 538 | |
| 539 | // Try to connect and get health |
| 540 | match grpc_client(server, tls).await { |
| 541 | Ok(mut client) => match client.health(HealthRequest {}).await { |
| 542 | Ok(response) => { |
| 543 | let health = response.into_inner(); |
| 544 | println!(" {} {}", "Status:".dimmed(), "Connected".green()); |
| 545 | println!(" {} {}", "Version:".dimmed(), health.version); |
| 546 | } |
| 547 | Err(e) => { |
| 548 | if let Some(status) = http_health_check(server, tls).await? { |
| 549 | if status.is_success() { |
| 550 | println!(" {} {}", "Status:".dimmed(), "Connected (HTTP)".yellow()); |
| 551 | println!(" {} {}", "HTTP: ".dimmed(), status); |
| 552 | println!(" {} {}", "gRPC error:".dimmed(), e); |
| 553 | } else { |
| 554 | println!(" {} {}", "Status:".dimmed(), "Error".red()); |
| 555 | println!(" {} {}", "HTTP:".dimmed(), status); |
| 556 | println!(" {} {}", "gRPC error:".dimmed(), e); |
| 557 | } |
| 558 | } else { |
| 559 | println!(" {} {}", "Status:".dimmed(), "Error".red()); |
| 560 | println!(" {} {}", "Error:".dimmed(), e); |
| 561 | } |
| 562 | } |
| 563 | }, |
| 564 | Err(e) => { |
| 565 | if let Some(status) = http_health_check(server, tls).await? { |
| 566 | if status.is_success() { |
| 567 | println!(" {} {}", "Status:".dimmed(), "Connected (HTTP)".yellow()); |
| 568 | println!(" {} {}", "HTTP:".dimmed(), status); |
| 569 | println!(" {} {}", "gRPC error:".dimmed(), e); |
| 570 | } else { |
| 571 | println!(" {} {}", "Status:".dimmed(), "Disconnected".red()); |
| 572 | println!(" {} {}", "HTTP:".dimmed(), status); |
| 573 | println!(" {} {}", "Error:".dimmed(), e); |
| 574 | } |
| 575 | } else { |
| 576 | println!(" {} {}", "Status:".dimmed(), "Disconnected".red()); |
| 577 | println!(" {} {}", "Error:".dimmed(), e); |
| 578 | } |
| 579 | } |
| 580 | } |
| 581 | |
| 582 | Ok(()) |
| 583 | } |
| 584 | |
| 585 | /// Set the active gateway. |
| 586 | pub fn gateway_use(name: &str) -> Result<()> { |
no test coverage detected