pub struct BaseUrl(/* private fields */);Expand description
Validated base URL with compile-time type safety.
This newtype wrapper ensures that base URLs are validated at construction time rather than at runtime, catching invalid configurations earlier in development.
§Validation Rules
- Must not be empty
- Must start with
http://orhttps://
§Example
use open_agent::BaseUrl;
// Valid base URLs
let url = BaseUrl::new("http://localhost:1234/v1").unwrap();
assert_eq!(url.as_str(), "http://localhost:1234/v1");
let url = BaseUrl::new("https://api.openai.com/v1").unwrap();
assert_eq!(url.as_str(), "https://api.openai.com/v1");
// Invalid: no http/https prefix
assert!(BaseUrl::new("localhost:1234").is_err());
// Invalid: empty string
assert!(BaseUrl::new("").is_err());Implementations§
Trait Implementations§
impl Eq for BaseUrl
impl StructuralPartialEq for BaseUrl
Auto Trait Implementations§
impl Freeze for BaseUrl
impl RefUnwindSafe for BaseUrl
impl Send for BaseUrl
impl Sync for BaseUrl
impl Unpin for BaseUrl
impl UnwindSafe for BaseUrl
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.