Added missing error response support in SessionChannelExt

pull/96/head
Chip Senkbeil 3 years ago
parent ee8ca9c32b
commit f1e0f82df5
No known key found for this signature in database
GPG Key ID: 35EF1F8EC72A4131

@ -251,6 +251,7 @@ impl SessionChannelExt for SessionChannel {
RequestData::Exists { path: path.into() }, RequestData::Exists { path: path.into() },
|data| match data { |data| match data {
ResponseData::Exists(x) => Ok(x), ResponseData::Exists(x) => Ok(x),
ResponseData::Error(x) => Err(SessionChannelExtError::Failure(x)),
_ => Err(SessionChannelExtError::MismatchedResponse), _ => Err(SessionChannelExtError::MismatchedResponse),
} }
) )
@ -273,6 +274,7 @@ impl SessionChannelExt for SessionChannel {
}, },
|data| match data { |data| match data {
ResponseData::Metadata(x) => Ok(x), ResponseData::Metadata(x) => Ok(x),
ResponseData::Error(x) => Err(SessionChannelExtError::Failure(x)),
_ => Err(SessionChannelExtError::MismatchedResponse), _ => Err(SessionChannelExtError::MismatchedResponse),
} }
) )
@ -299,6 +301,7 @@ impl SessionChannelExt for SessionChannel {
}, },
|data| match data { |data| match data {
ResponseData::DirEntries { entries, errors } => Ok((entries, errors)), ResponseData::DirEntries { entries, errors } => Ok((entries, errors)),
ResponseData::Error(x) => Err(SessionChannelExtError::Failure(x)),
_ => Err(SessionChannelExtError::MismatchedResponse), _ => Err(SessionChannelExtError::MismatchedResponse),
} }
) )
@ -315,6 +318,7 @@ impl SessionChannelExt for SessionChannel {
RequestData::FileRead { path: path.into() }, RequestData::FileRead { path: path.into() },
|data| match data { |data| match data {
ResponseData::Blob { data } => Ok(data), ResponseData::Blob { data } => Ok(data),
ResponseData::Error(x) => Err(SessionChannelExtError::Failure(x)),
_ => Err(SessionChannelExtError::MismatchedResponse), _ => Err(SessionChannelExtError::MismatchedResponse),
} }
) )
@ -331,6 +335,7 @@ impl SessionChannelExt for SessionChannel {
RequestData::FileReadText { path: path.into() }, RequestData::FileReadText { path: path.into() },
|data| match data { |data| match data {
ResponseData::Text { data } => Ok(data), ResponseData::Text { data } => Ok(data),
ResponseData::Error(x) => Err(SessionChannelExtError::Failure(x)),
_ => Err(SessionChannelExtError::MismatchedResponse), _ => Err(SessionChannelExtError::MismatchedResponse),
} }
) )
@ -401,6 +406,7 @@ impl SessionChannelExt for SessionChannel {
RequestData::SystemInfo {}, RequestData::SystemInfo {},
|data| match data { |data| match data {
ResponseData::SystemInfo(x) => Ok(x), ResponseData::SystemInfo(x) => Ok(x),
ResponseData::Error(x) => Err(SessionChannelExtError::Failure(x)),
_ => Err(SessionChannelExtError::MismatchedResponse), _ => Err(SessionChannelExtError::MismatchedResponse),
} }
) )

Loading…
Cancel
Save