Remove remaining async-std dependencies from collab

This commit is contained in:
Antonio Scandurra 2022-04-26 19:47:40 +02:00
parent dec88a42e7
commit b4ae2b20a0
5 changed files with 30 additions and 50 deletions

View file

@ -14,7 +14,6 @@ anyhow = "1.0.38"
futures = "0.3"
log = { version = "0.4.16", features = ["kv_unstable_serde"] }
rand = { version = "0.8", optional = true }
surf = "2.2"
tempdir = { version = "0.3.7", optional = true }
serde_json = { version = "1.0.64", features = [
"preserve_order",

View file

@ -153,33 +153,3 @@ mod tests {
assert_eq!(vec, &[1000, 101, 21, 19, 17, 13, 9, 8]);
}
}
// Allow surf Results to accept context like other Results do when
// using anyhow.
pub trait SurfResultExt {
fn context<C>(self, cx: C) -> Self
where
C: std::fmt::Display + Send + Sync + 'static;
fn with_context<C, F>(self, f: F) -> Self
where
C: std::fmt::Display + Send + Sync + 'static,
F: FnOnce() -> C;
}
impl<T> SurfResultExt for surf::Result<T> {
fn context<C>(self, cx: C) -> Self
where
C: std::fmt::Display + Send + Sync + 'static,
{
self.map_err(|e| surf::Error::new(e.status(), e.into_inner().context(cx)))
}
fn with_context<C, F>(self, f: F) -> Self
where
C: std::fmt::Display + Send + Sync + 'static,
F: FnOnce() -> C,
{
self.map_err(|e| surf::Error::new(e.status(), e.into_inner().context(f())))
}
}