let mut response_json : Vec<serde_json::Value> = Vec::new();
for apdu in apdus {
- let reply = &transmit_apdu(card.as_mut().unwrap(), &apdu)?;
+ let reply = match transmit_apdu(card.as_mut().unwrap(), &apdu) {
+ Ok(r) => r,
+ Err(err) => {
+ *card = None; // Clean up.
+ return Err(err);
+ }
+ };
response_json.push(json!({
"apdu": reply
}));