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§
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<'_>>
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.