Commit: 78a5ebb
Parent: f5017f5

Return better gRPC errors

Mårten Åsberg committed on 2026-03-20 at 19:07
I'm not saying they're good, just better.
src/receipt_printer_service.rs +5 -8
diff --git a/src/receipt_printer_service.rs b/src/receipt_printer_service.rs
index 400b30f..f1b2bed 100644
@@ -30,24 +30,21 @@ impl receipt_printer_server::ReceiptPrinter for ReceiptPrinterService {
content: Some(content),
})) = &request.get_ref().content
else {
println!("No Typst content received");
return Ok(Response::new(PrintResponse::default()));
return Err(Status::invalid_argument("No Typst content received"));
};
let image = match render_typst_receipt(self.template_path.as_ref(), content) {
Ok(image) => image,
Err(error) => {
println!("Error rendering receipt: {error}");
return Ok(Response::new(PrintResponse::default()));
return Err(Status::internal(format!(
"Error rendering receipt: {error}"
)));
}
};
println!("Connecting to printer...");
if let Err(error) = self.receipt_printer.print_image(image.into()).await {
println!("Error when printing: {error}");
return Ok(Response::new(PrintResponse::default()));
return Err(Status::internal(format!("Error when printing: {error}")));
}
println!("Done!");
Ok(Response::new(PrintResponse::default()))
}