Trait Host

Source
pub trait Host: Send {
    // Required methods
    fn exists<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
    ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn is_healthy<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
    ) -> Pin<Box<dyn Future<Output = Result<BackendHealth, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn is_dynamic<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
    ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_host<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
        max_len: u64,
    ) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_override_host<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
        max_len: u64,
    ) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_port<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
    ) -> Pin<Box<dyn Future<Output = Result<u16, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_connect_timeout_ms<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
    ) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_first_byte_timeout_ms<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
    ) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_between_bytes_timeout_ms<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
    ) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn is_ssl<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
    ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_ssl_min_version<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
    ) -> Pin<Box<dyn Future<Output = Result<Option<TlsVersion>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_ssl_max_version<'life0, 'async_trait>(
        &'life0 mut self,
        backend: String,
    ) -> Pin<Box<dyn Future<Output = Result<Option<TlsVersion>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}

Required Methods§

Source

fn exists<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn is_healthy<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<BackendHealth, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn is_dynamic<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns true if the backend is a “dynamic” backend.

Source

fn get_host<'life0, 'async_trait>( &'life0 mut self, backend: String, max_len: u64, ) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the host of this backend.

Source

fn get_override_host<'life0, 'async_trait>( &'life0 mut self, backend: String, max_len: u64, ) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the “override host” for this backend.

This is used to change the Host header sent to the backend. See the Fastly documentation oh this topic here: https://docs.fastly.com/en/guides/specifying-an-override-host

Source

fn get_port<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<u16, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the remote TCP port of the backend connection for the request.

Source

fn get_connect_timeout_ms<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the connection timeout of the backend.

Source

fn get_first_byte_timeout_ms<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the first byte timeout of the backend.

Source

fn get_between_bytes_timeout_ms<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the between byte timeout of the backend.

Source

fn is_ssl<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns true if the backend is configured to use SSL.

Source

fn get_ssl_min_version<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<Option<TlsVersion>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the minimum SSL version this backend will use.

Source

fn get_ssl_max_version<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<Option<TlsVersion>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the maximum SSL version this backend will use.

Implementations on Foreign Types§

Source§

impl<_T: Host + ?Sized + Send> Host for &mut _T

Source§

fn is_dynamic<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns true if the backend is a “dynamic” backend.

Source§

fn get_host<'life0, 'async_trait>( &'life0 mut self, backend: String, max_len: u64, ) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the host of this backend.

Source§

fn get_override_host<'life0, 'async_trait>( &'life0 mut self, backend: String, max_len: u64, ) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the “override host” for this backend.

This is used to change the Host header sent to the backend. See the Fastly documentation oh this topic here: https://docs.fastly.com/en/guides/specifying-an-override-host

Source§

fn get_port<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<u16, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the remote TCP port of the backend connection for the request.

Source§

fn get_connect_timeout_ms<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the connection timeout of the backend.

Source§

fn get_first_byte_timeout_ms<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the first byte timeout of the backend.

Source§

fn get_between_bytes_timeout_ms<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<u32, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the between byte timeout of the backend.

Source§

fn is_ssl<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns true if the backend is configured to use SSL.

Source§

fn get_ssl_min_version<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<Option<TlsVersion>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the minimum SSL version this backend will use.

Source§

fn get_ssl_max_version<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<Option<TlsVersion>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the maximum SSL version this backend will use.

Source§

fn exists<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn is_healthy<'life0, 'async_trait>( &'life0 mut self, backend: String, ) -> Pin<Box<dyn Future<Output = Result<BackendHealth, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implementors§