pub struct ProviderService { /* private fields */ }Expand description
Provider service and immutable expected endpoint identity.
Implementations§
Source§impl ProviderService
impl ProviderService
Sourcepub const fn new(
provider: Provider,
family: ApiFamily,
endpoint: EndpointIdentity<'static>,
) -> Self
pub const fn new( provider: Provider, family: ApiFamily, endpoint: EndpointIdentity<'static>, ) -> Self
Binds a provider API family to one normalized expected endpoint.
Examples found in repository?
examples/prepared_request.rs (line 62)
31 fn prepare<'storage>(
32 &self,
33 storage: PreparationStorage<'storage>,
34 ) -> Result<PreparedRequest<'storage>, Self::Error> {
35 let (target_storage, _body_storage) = storage.into_parts();
36 let target = target_storage
37 .get_mut(..17)
38 .ok_or(PrepareError::TargetBuffer)?;
39 target.copy_from_slice(b"/resources?page=1");
40 let target = core::str::from_utf8(target).map_err(|_| PrepareError::InvalidTarget)?;
41 let target = RequestTarget::new(target).map_err(|_| PrepareError::InvalidTarget)?;
42 let request = TransportRequest::new(Method::Get, target);
43 let metadata = OperationMetadata::new(
44 OperationImpact::ReadOnly,
45 RequestSemantics::Safe,
46 RetryEligibility::ExplicitPolicy,
47 CostIntent::NoKnownCost,
48 )
49 .map_err(|_| PrepareError::InvalidMetadata)?;
50 let response_policy = ResponsePolicy::new(
51 &OK_STATUS,
52 ContentTypePolicy::Required(&JSON_MEDIA),
53 ResponseBodyPolicy::Required,
54 65_536,
55 )
56 .map_err(|_| PrepareError::InvalidResponsePolicy)?;
57 let endpoint =
58 EndpointIdentity::new(EndpointScheme::Https, "api.example.invalid", 443, "/v1")
59 .map_err(|_| PrepareError::InvalidEndpoint)?;
60 Ok(PreparedRequest::new(
61 request,
62 ProviderService::new(Provider::Hetzner, ApiFamily::Cloud, endpoint),
63 metadata,
64 response_policy,
65 ))
66 }Sourcepub const fn endpoint(self) -> EndpointIdentity<'static>
pub const fn endpoint(self) -> EndpointIdentity<'static>
Returns the immutable expected endpoint identity.
Trait Implementations§
Source§impl Clone for ProviderService
impl Clone for ProviderService
Source§fn clone(&self) -> ProviderService
fn clone(&self) -> ProviderService
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ProviderService
Source§impl Debug for ProviderService
impl Debug for ProviderService
impl Eq for ProviderService
Source§impl PartialEq for ProviderService
impl PartialEq for ProviderService
impl StructuralPartialEq for ProviderService
Auto Trait Implementations§
impl Freeze for ProviderService
impl RefUnwindSafe for ProviderService
impl Send for ProviderService
impl Sync for ProviderService
impl Unpin for ProviderService
impl UnsafeUnpin for ProviderService
impl UnwindSafe for ProviderService
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more