Remove reqwest dependency from gpui (#44424)
This was pulling in tokio which is pretty unfortunate. The solution is to do the `reqwest::Form` to `http::Reqwest` conversion in the reliability crate instead of our http client wrapper. Release Notes: - N/A
This commit is contained in:
@@ -88,17 +88,6 @@ impl From<&'static str> for AsyncBody {
|
||||
}
|
||||
}
|
||||
|
||||
impl TryFrom<reqwest::Body> for AsyncBody {
|
||||
type Error = anyhow::Error;
|
||||
|
||||
fn try_from(value: reqwest::Body) -> Result<Self, Self::Error> {
|
||||
value
|
||||
.as_bytes()
|
||||
.ok_or_else(|| anyhow::anyhow!("Underlying data is a stream"))
|
||||
.map(|bytes| Self::from_bytes(Bytes::copy_from_slice(bytes)))
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Into<Self>> From<Option<T>> for AsyncBody {
|
||||
fn from(body: Option<T>) -> Self {
|
||||
match body {
|
||||
|
||||
@@ -8,10 +8,7 @@ use derive_more::Deref;
|
||||
use http::HeaderValue;
|
||||
pub use http::{self, Method, Request, Response, StatusCode, Uri, request::Builder};
|
||||
|
||||
use futures::{
|
||||
FutureExt as _,
|
||||
future::{self, BoxFuture},
|
||||
};
|
||||
use futures::future::BoxFuture;
|
||||
use parking_lot::Mutex;
|
||||
use serde::Serialize;
|
||||
use std::sync::Arc;
|
||||
@@ -110,14 +107,6 @@ pub trait HttpClient: 'static + Send + Sync {
|
||||
fn as_fake(&self) -> &FakeHttpClient {
|
||||
panic!("called as_fake on {}", type_name::<Self>())
|
||||
}
|
||||
|
||||
fn send_multipart_form<'a>(
|
||||
&'a self,
|
||||
_url: &str,
|
||||
_request: reqwest::multipart::Form,
|
||||
) -> BoxFuture<'a, anyhow::Result<Response<AsyncBody>>> {
|
||||
future::ready(Err(anyhow!("not implemented"))).boxed()
|
||||
}
|
||||
}
|
||||
|
||||
/// An [`HttpClient`] that may have a proxy.
|
||||
@@ -165,14 +154,6 @@ impl HttpClient for HttpClientWithProxy {
|
||||
fn as_fake(&self) -> &FakeHttpClient {
|
||||
self.client.as_fake()
|
||||
}
|
||||
|
||||
fn send_multipart_form<'a>(
|
||||
&'a self,
|
||||
url: &str,
|
||||
form: reqwest::multipart::Form,
|
||||
) -> BoxFuture<'a, anyhow::Result<Response<AsyncBody>>> {
|
||||
self.client.send_multipart_form(url, form)
|
||||
}
|
||||
}
|
||||
|
||||
/// An [`HttpClient`] that has a base URL.
|
||||
@@ -306,14 +287,6 @@ impl HttpClient for HttpClientWithUrl {
|
||||
fn as_fake(&self) -> &FakeHttpClient {
|
||||
self.client.as_fake()
|
||||
}
|
||||
|
||||
fn send_multipart_form<'a>(
|
||||
&'a self,
|
||||
url: &str,
|
||||
request: reqwest::multipart::Form,
|
||||
) -> BoxFuture<'a, anyhow::Result<Response<AsyncBody>>> {
|
||||
self.client.send_multipart_form(url, request)
|
||||
}
|
||||
}
|
||||
|
||||
pub fn read_proxy_from_env() -> Option<Url> {
|
||||
|
||||
Reference in New Issue
Block a user