pub trait SlackClientHttpConnector {
fn http_get_uri<'a, RS>(
&'a self,
full_uri: Url,
token: Option<&'a SlackApiToken>,
rate_control_params: Option<&'a SlackApiMethodRateControlConfig>
) -> BoxFuture<'a, ClientResult<RS>>
where
RS: for<'de> Deserialize<'de> + Send + 'a;
fn http_get_with_client_secret<'a, RS>(
&'a self,
full_uri: Url,
client_id: &'a SlackClientId,
client_secret: &'a SlackClientSecret
) -> BoxFuture<'a, ClientResult<RS>>
where
RS: for<'de> Deserialize<'de> + Send + 'a;
fn http_post_uri<'a, RQ, RS>(
&'a self,
full_uri: Url,
request_body: &'a RQ,
token: Option<&'a SlackApiToken>,
rate_control_params: Option<&'a SlackApiMethodRateControlConfig>
) -> BoxFuture<'a, ClientResult<RS>>
where
RQ: Serialize + Send + Sync,
RS: for<'de> Deserialize<'de> + Send + 'a;
fn http_get_token<'a, 'p, RS, PT, TS>(
&'a self,
method_relative_uri: &str,
params: &'p PT,
token: Option<&'a SlackApiToken>,
rate_control_params: Option<&'a SlackApiMethodRateControlConfig>
) -> BoxFuture<'a, ClientResult<RS>>
where
RS: for<'de> Deserialize<'de> + Send + 'a,
PT: IntoIterator<Item = (&'p str, Option<&'p TS>)> + Clone,
TS: ToString + 'p + 'a + Send,
{ ... }
fn http_get<'a, 'p, RS, PT, TS>(
&'a self,
method_relative_uri: &str,
params: &'p PT
) -> BoxFuture<'a, ClientResult<RS>>
where
RS: for<'de> Deserialize<'de> + Send + 'a,
PT: IntoIterator<Item = (&'p str, Option<&'p TS>)> + Clone,
TS: ToString + 'p + 'a + Send,
{ ... }
fn http_post_token<'a, RQ, RS>(
&'a self,
method_relative_uri: &str,
request: &'a RQ,
token: Option<&'a SlackApiToken>,
rate_control_params: Option<&'a SlackApiMethodRateControlConfig>
) -> BoxFuture<'a, ClientResult<RS>>
where
RQ: Serialize + Send + Sync,
RS: for<'de> Deserialize<'de> + Send + 'a,
{ ... }
fn http_post<'a, RQ, RS>(
&'a self,
method_relative_uri: &str,
request: &'a RQ
) -> BoxFuture<'a, ClientResult<RS>>
where
RQ: Serialize + Send + Sync,
RS: for<'de> Deserialize<'de> + Send + 'a,
{ ... }
}