pub trait SlackClientHttpConnector {
// Required methods
fn http_get_uri<'a, RS>(
&'a self,
full_uri: Url,
context: SlackClientApiCallContext<'a>,
) -> 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,
context: SlackClientApiCallContext<'a>,
) -> BoxFuture<'a, ClientResult<RS>>
where RQ: Serialize + Send + Sync,
RS: for<'de> Deserialize<'de> + Send + 'a;
fn http_post_uri_multipart_form<'a, 'p, RS, PT, TS>(
&'a self,
full_uri: Url,
file: Option<FileMultipartData<'p>>,
params: &'p PT,
context: SlackClientApiCallContext<'a>,
) -> BoxFuture<'a, ClientResult<RS>>
where RS: for<'de> Deserialize<'de> + Send + 'a,
PT: IntoIterator<Item = (&'p str, Option<TS>)> + Clone,
TS: AsRef<str> + 'p + Send;
fn http_post_uri_binary<'a, 'p, RS>(
&'a self,
full_uri: Url,
content_type: String,
data: &'a [u8],
context: SlackClientApiCallContext<'a>,
) -> BoxFuture<'a, ClientResult<RS>>
where RS: for<'de> Deserialize<'de> + Send + 'a;
// Provided methods
fn http_get<'a, 'p, RS, PT, TS>(
&'a self,
method_relative_uri: &str,
params: &'p PT,
context: SlackClientApiCallContext<'a>,
) -> BoxFuture<'a, ClientResult<RS>>
where RS: for<'de> Deserialize<'de> + Send + 'a,
PT: IntoIterator<Item = (&'p str, Option<TS>)> + Clone,
TS: AsRef<str> + 'p + Send { ... }
fn http_post<'a, RQ, RS>(
&'a self,
method_relative_uri: &str,
request: &'a RQ,
context: SlackClientApiCallContext<'a>,
) -> BoxFuture<'a, ClientResult<RS>>
where RQ: Serialize + Send + Sync,
RS: for<'de> Deserialize<'de> + Send + 'a { ... }
fn http_post_multipart_form<'a, 'p, RS, PT, TS>(
&'a self,
method_relative_uri: &str,
file: Option<FileMultipartData<'p>>,
params: &'p PT,
context: SlackClientApiCallContext<'a>,
) -> BoxFuture<'a, ClientResult<RS>>
where RS: for<'de> Deserialize<'de> + Send + 'a,
PT: IntoIterator<Item = (&'p str, Option<TS>)> + Clone,
TS: AsRef<str> + 'p + Send { ... }
fn create_method_uri_path(
&self,
method_relative_uri: &str,
) -> ClientResult<Url> { ... }
}
Required Methods§
fn http_get_uri<'a, RS>(
&'a self,
full_uri: Url,
context: SlackClientApiCallContext<'a>,
) -> 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, context: SlackClientApiCallContext<'a>, ) -> BoxFuture<'a, ClientResult<RS>>
fn http_post_uri_multipart_form<'a, 'p, RS, PT, TS>(
&'a self,
full_uri: Url,
file: Option<FileMultipartData<'p>>,
params: &'p PT,
context: SlackClientApiCallContext<'a>,
) -> BoxFuture<'a, ClientResult<RS>>where
RS: for<'de> Deserialize<'de> + Send + 'a,
PT: IntoIterator<Item = (&'p str, Option<TS>)> + Clone,
TS: AsRef<str> + 'p + Send,
fn http_post_uri_binary<'a, 'p, RS>(
&'a self,
full_uri: Url,
content_type: String,
data: &'a [u8],
context: SlackClientApiCallContext<'a>,
) -> BoxFuture<'a, ClientResult<RS>>where
RS: for<'de> Deserialize<'de> + Send + 'a,
Provided Methods§
fn http_get<'a, 'p, RS, PT, TS>(
&'a self,
method_relative_uri: &str,
params: &'p PT,
context: SlackClientApiCallContext<'a>,
) -> BoxFuture<'a, ClientResult<RS>>where
RS: for<'de> Deserialize<'de> + Send + 'a,
PT: IntoIterator<Item = (&'p str, Option<TS>)> + Clone,
TS: AsRef<str> + 'p + Send,
fn http_post<'a, RQ, RS>( &'a self, method_relative_uri: &str, request: &'a RQ, context: SlackClientApiCallContext<'a>, ) -> BoxFuture<'a, ClientResult<RS>>
fn http_post_multipart_form<'a, 'p, RS, PT, TS>(
&'a self,
method_relative_uri: &str,
file: Option<FileMultipartData<'p>>,
params: &'p PT,
context: SlackClientApiCallContext<'a>,
) -> BoxFuture<'a, ClientResult<RS>>where
RS: for<'de> Deserialize<'de> + Send + 'a,
PT: IntoIterator<Item = (&'p str, Option<TS>)> + Clone,
TS: AsRef<str> + 'p + Send,
fn create_method_uri_path(&self, method_relative_uri: &str) -> ClientResult<Url>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.