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}