Skip to content

Commit a8523e2

Browse files
Merge pull request #76 from Erik1000/fix/panic_on_empty
fix: return error instead of unwraping in query::parse_value
2 parents 270373a + d80569a commit a8523e2

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

src/api/query.rs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -712,7 +712,9 @@ fn parse_value(s: &str, t: DataType, name: &str) -> Result<Value, RequestError>
712712
match t {
713713
DataType::String => Ok(Value::String(String::from(s))),
714714
DataType::Double => {
715-
let v = s.parse::<f64>().unwrap();
715+
let v = s.parse::<f64>().map_err(|e| RequestError::Deserializing {
716+
text: e.to_string(),
717+
})?;
716718
Ok(Value::Double(OrderedFloat::from(v)))
717719
}
718720
DataType::Bool => {
@@ -723,11 +725,15 @@ fn parse_value(s: &str, t: DataType, name: &str) -> Result<Value, RequestError>
723725
}
724726
}
725727
DataType::Long => {
726-
let v = s.parse::<i64>().unwrap();
728+
let v = s.parse::<i64>().map_err(|e| RequestError::Deserializing {
729+
text: e.to_string(),
730+
})?;
727731
Ok(Value::Long(v))
728732
}
729733
DataType::UnsignedLong => {
730-
let v = s.parse::<u64>().unwrap();
734+
let v = s.parse::<u64>().map_err(|e| RequestError::Deserializing {
735+
text: e.to_string(),
736+
})?;
731737
Ok(Value::UnsignedLong(v))
732738
}
733739
DataType::Duration => match parse_duration(s) {
@@ -737,11 +743,15 @@ fn parse_value(s: &str, t: DataType, name: &str) -> Result<Value, RequestError>
737743
}),
738744
},
739745
DataType::Base64Binary => {
740-
let b = decode(s).unwrap();
746+
let b = decode(s).map_err(|e| RequestError::Deserializing {
747+
text: e.to_string(),
748+
})?;
741749
Ok(Value::Base64Binary(b))
742750
}
743751
DataType::TimeRFC => {
744-
let t = DateTime::parse_from_rfc3339(s).unwrap();
752+
let t = DateTime::parse_from_rfc3339(s).map_err(|e| RequestError::Deserializing {
753+
text: e.to_string(),
754+
})?;
745755
Ok(Value::TimeRFC(t))
746756
}
747757
}

0 commit comments

Comments
 (0)