forked from extern/nushell
Better handling of unexpected error case.
This commit is contained in:
parent
ff92123d93
commit
83d82a09b2
@ -175,16 +175,25 @@ fn get_headers(call_info: &CallInfo) -> Result<Vec<HeaderKind>, ShellError> {
|
|||||||
|
|
||||||
fn extract_header_value(call_info: &CallInfo, key: &str) -> Result<Option<String>, ShellError> {
|
fn extract_header_value(call_info: &CallInfo, key: &str) -> Result<Option<String>, ShellError> {
|
||||||
if call_info.args.has(key) {
|
if call_info.args.has(key) {
|
||||||
let val = match call_info.args.get(key) {
|
let tagged = call_info.args.get(key);
|
||||||
|
let val = match tagged {
|
||||||
Some(Tagged {
|
Some(Tagged {
|
||||||
item: Value::Primitive(Primitive::String(s)),
|
item: Value::Primitive(Primitive::String(s)),
|
||||||
..
|
..
|
||||||
}) => s.clone(),
|
}) => s.clone(),
|
||||||
|
Some(Tagged { tag, .. }) => {
|
||||||
|
return Err(ShellError::labeled_error(
|
||||||
|
format!("{} not in expected format. Expected string.", key),
|
||||||
|
"post error",
|
||||||
|
tag,
|
||||||
|
));
|
||||||
|
}
|
||||||
_ => {
|
_ => {
|
||||||
return Err(ShellError::string(format!(
|
return Err(ShellError::labeled_error(
|
||||||
"{} not in expected format. Expected string.",
|
format!("{} not in expected format. Expected string.", key),
|
||||||
key
|
"post error",
|
||||||
)));
|
Tag::unknown(),
|
||||||
|
));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return Ok(Some(val));
|
return Ok(Some(val));
|
||||||
|
Loading…
Reference in New Issue
Block a user