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_id: ProviderId,
service_id: ServiceId,
endpoint: EndpointIdentity<'static>,
) -> Self
pub const fn new( provider_id: ProviderId, service_id: ServiceId, endpoint: EndpointIdentity<'static>, ) -> Self
Binds validated provider and service IDs to one expected endpoint.
Sourcepub const fn from_marker<S: ServiceMarker>(
endpoint: EndpointIdentity<'static>,
) -> Self
pub const fn from_marker<S: ServiceMarker>( endpoint: EndpointIdentity<'static>, ) -> Self
Binds a provider-owned service marker to one expected endpoint.
Examples found in repository?
examples/prepared_request.rs (line 77)
46 fn prepare<'storage>(
47 &self,
48 storage: PreparationStorage<'storage>,
49 ) -> Result<PreparedRequest<'storage>, Self::Error> {
50 let (target_storage, _body_storage) = storage.into_parts();
51 let target = target_storage
52 .get_mut(..17)
53 .ok_or(PrepareError::TargetBuffer)?;
54 target.copy_from_slice(b"/resources?page=1");
55 let target = core::str::from_utf8(target).map_err(|_| PrepareError::InvalidTarget)?;
56 let target = RequestTarget::new(target).map_err(|_| PrepareError::InvalidTarget)?;
57 let request = TransportRequest::new(Method::Get, target);
58 let metadata = OperationMetadata::new(
59 OperationImpact::ReadOnly,
60 RequestSemantics::Safe,
61 RetryEligibility::ExplicitPolicy,
62 CostIntent::NoKnownCost,
63 )
64 .map_err(|_| PrepareError::InvalidMetadata)?;
65 let response_policy = ResponsePolicy::new(
66 &OK_STATUS,
67 ContentTypePolicy::Required(&JSON_MEDIA),
68 ResponseBodyPolicy::Required,
69 65_536,
70 )
71 .map_err(|_| PrepareError::InvalidResponsePolicy)?;
72 let endpoint =
73 EndpointIdentity::new(EndpointScheme::Https, "api.example.invalid", 443, "/v1")
74 .map_err(|_| PrepareError::InvalidEndpoint)?;
75 Ok(PreparedRequest::new(
76 request,
77 ProviderService::from_marker::<ComputeService>(endpoint),
78 metadata,
79 response_policy,
80 ))
81 }Sourcepub const fn provider_id(self) -> ProviderId
pub const fn provider_id(self) -> ProviderId
Returns the canonical provider namespace.
Sourcepub const fn service_id(self) -> ServiceId
pub const fn service_id(self) -> ServiceId
Returns the canonical provider-owned service namespace.
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