|
1 | 1 | use clap::{Parser, Subcommand};
|
2 | 2 | use ldk_server_client::client::LdkServerClient;
|
3 | 3 | use ldk_server_client::error::LdkServerError;
|
| 4 | +use ldk_server_client::error::LdkServerErrorCode::{ |
| 5 | + AuthError, InternalError, InternalServerError, InvalidRequestError, LightningError, |
| 6 | +}; |
4 | 7 | use ldk_server_client::ldk_server_protos::api::{
|
5 | 8 | Bolt11ReceiveRequest, Bolt11SendRequest, Bolt12ReceiveRequest, Bolt12SendRequest,
|
6 | 9 | GetBalancesRequest, GetNodeInfoRequest, ListChannelsRequest, ListPaymentsRequest,
|
@@ -123,7 +126,8 @@ async fn main() {
|
123 | 126 | kind: Some(bolt11_invoice_description::Kind::Hash(hash)),
|
124 | 127 | }),
|
125 | 128 | (Some(_), Some(_)) => {
|
126 |
| - handle_error(LdkServerError::InternalError( |
| 129 | + handle_error(LdkServerError::new( |
| 130 | + InternalError, |
127 | 131 | "Only one of description or description_hash can be set.".to_string(),
|
128 | 132 | ));
|
129 | 133 | },
|
@@ -191,15 +195,22 @@ async fn main() {
|
191 | 195 | fn handle_response_result<Rs: ::prost::Message>(response: Result<Rs, LdkServerError>) {
|
192 | 196 | match response {
|
193 | 197 | Ok(response) => {
|
194 |
| - println!("{:?}", response); |
| 198 | + println!("Success: {:?}", response); |
195 | 199 | },
|
196 | 200 | Err(e) => {
|
197 | 201 | handle_error(e);
|
198 | 202 | },
|
199 |
| - }; |
| 203 | + } |
200 | 204 | }
|
201 | 205 |
|
202 | 206 | fn handle_error(e: LdkServerError) -> ! {
|
203 |
| - eprintln!("Error executing command: {:?}", e); |
| 207 | + let error_type = match e.error_code { |
| 208 | + InvalidRequestError => "Invalid Request", |
| 209 | + AuthError => "Authentication Error", |
| 210 | + LightningError => "Lightning Error", |
| 211 | + InternalServerError => "Internal Server Error", |
| 212 | + InternalError => "Internal Error", |
| 213 | + }; |
| 214 | + eprintln!("Error ({}): {}", error_type, e.message); |
204 | 215 | std::process::exit(1); // Exit with status code 1 on error.
|
205 | 216 | }
|
0 commit comments