Skip to main content

cloud_sdk/transport/request_target/
provider_link.rs

1use core::fmt;
2
3/// Raw query state admitted only through a validated provider pagination link.
4///
5/// This value has no public constructor. It preserves provider URI syntax
6/// exactly and cannot be passed to [`super::RequestTarget::assemble`].
7///
8/// ```compile_fail
9/// use cloud_sdk::transport::ProviderLinkQuery;
10/// let _query = ProviderLinkQuery("page=2");
11/// ```
12#[derive(Clone, Copy, Eq, PartialEq)]
13pub struct ProviderLinkQuery<'a>(pub(super) &'a str);
14
15impl<'a> ProviderLinkQuery<'a> {
16    /// Returns the exact provider-supplied query bytes as text.
17    #[must_use]
18    pub const fn as_str(self) -> &'a str {
19        self.0
20    }
21}
22
23impl fmt::Debug for ProviderLinkQuery<'_> {
24    fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
25        formatter.write_str("ProviderLinkQuery([redacted])")
26    }
27}