Trait RequestDataProvider

Source
pub trait RequestDataProvider {
    // Required methods
    fn time_received(&self) -> Option<SystemTime>;
    fn http_protocol(&self) -> Option<Protocol>;
    fn body(&self) -> Option<impl Body>;
    fn method_providers(&self) -> BitFlags<DataKinds>;
    fn headers_providers(&self) -> BitFlags<DataKinds>;
    fn uri_providers(&self) -> BitFlags<DataKinds>;
    fn provide_method<'s>(&'s self, dk: DataKinds) -> Option<MethodData<'s>>;
    fn provide_uri<'s>(&'s self, dk: DataKinds) -> Option<UriData<'s>>;
    fn provide_headers<'s>(&'s self, dk: DataKinds) -> Option<HeaderData<'s>>;

    // Provided methods
    fn provide_preferred_method(
        &self,
        prefs: &DataKindPreference,
    ) -> Option<MethodData<'_>> { ... }
    fn provide_preferred_uri(
        &self,
        prefs: &DataKindPreference,
    ) -> Option<UriData<'_>> { ... }
    fn provide_preferred_headers(
        &self,
        prefs: &DataKindPreference,
    ) -> Option<HeaderData<'_>> { ... }
}

Required Methods§

Provided Methods§

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§