Skip to content

Commit f795976

Browse files
committed
Add ErrorResponse handling in cli.
1 parent 605b23f commit f795976

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

ldk-server-cli/src/main.rs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
use clap::{Parser, Subcommand};
22
use ldk_server_client::client::LdkServerClient;
33
use ldk_server_client::error::LdkServerError;
4+
use ldk_server_client::error::LdkServerErrorCode::{
5+
AuthError, InternalError, InternalServerError, InvalidRequestError, LightningError,
6+
};
47
use ldk_server_client::ldk_server_protos::api::{
58
Bolt11ReceiveRequest, Bolt11SendRequest, Bolt12ReceiveRequest, Bolt12SendRequest,
69
GetBalancesRequest, GetNodeInfoRequest, ListChannelsRequest, ListPaymentsRequest,
@@ -123,7 +126,8 @@ async fn main() {
123126
kind: Some(bolt11_invoice_description::Kind::Hash(hash)),
124127
}),
125128
(Some(_), Some(_)) => {
126-
handle_error(LdkServerError::InternalError(
129+
handle_error(LdkServerError::new(
130+
InternalError,
127131
"Only one of description or description_hash can be set.".to_string(),
128132
));
129133
},
@@ -191,15 +195,22 @@ async fn main() {
191195
fn handle_response_result<Rs: ::prost::Message>(response: Result<Rs, LdkServerError>) {
192196
match response {
193197
Ok(response) => {
194-
println!("{:?}", response);
198+
println!("Success: {:?}", response);
195199
},
196200
Err(e) => {
197201
handle_error(e);
198202
},
199-
};
203+
}
200204
}
201205

202206
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);
204215
std::process::exit(1); // Exit with status code 1 on error.
205216
}

0 commit comments

Comments
 (0)