Trait slack_morphism::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;

    // 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,

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>

Object Safety§

This trait is not object safe.

Implementors§