slack_morphism

Trait SlackClientHttpConnector

Source
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§

Source

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,

Source

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,

Source

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,

Source

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,

Source

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§

Source

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,

Source

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,

Source

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,

Source

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.

Implementors§