[−][src]Struct uriparse::relative_reference::RelativeReferenceBuilder
A builder type for [RelativeReference]
.
You must use the RelativeReferenceBuilder::path
function before building as relative
references always have a path. Everything else is optional.
Methods
impl<'uri> RelativeReferenceBuilder<'uri>
[src]
pub fn authority<AuthorityType, AuthorityError>(
&mut self,
authority: Option<AuthorityType>
) -> &mut Self where
Authority<'uri>: TryFrom<AuthorityType, Error = AuthorityError>,
InvalidAuthority: From<AuthorityError>,
[src]
&mut self,
authority: Option<AuthorityType>
) -> &mut Self where
Authority<'uri>: TryFrom<AuthorityType, Error = AuthorityError>,
InvalidAuthority: From<AuthorityError>,
Sets the authority part of the relative reference.
If the given authority is not a valid authority (i.e. the conversion fails), an error is
stored internally and checked during the RelativeReferenceBuilder::build
function. The
error state will be rewritten for any following calls to this function.
It is optional to specify an authority.
Examples
use uriparse::RelativeReferenceBuilder; let mut builder = RelativeReferenceBuilder::new(); builder.authority(Some("example.com")).path("/my/path"); let reference = builder.build().unwrap(); assert_eq!(reference.to_string(), "//example.com/my/path");
pub fn build(self) -> Result<RelativeReference<'uri>, InvalidRelativeReference>
[src]
Consumes the builder and tries to build a RelativeReference
.
This function will error in one of three situations:
- One of the components specified in the builder is invalid.
- A path was not specified in the builder.
- While all individual components were valid, their combination as a relative reference was invalid.
Examples
First error type (invalid path):
use uriparse::RelativeReferenceBuilder; let mut builder = RelativeReferenceBuilder::new(); builder.path("this is an invalid path %%%"); assert!(builder.build().is_err());
Second error type (path not specified):
use uriparse::RelativeReferenceBuilder; let builder = RelativeReferenceBuilder::new(); assert!(builder.build().is_err());
Third error type (first segment in schemeless path cannot contain a ':'
):
use uriparse::RelativeReferenceBuilder; let mut builder = RelativeReferenceBuilder::new(); builder.path("my:/path"); assert!(builder.build().is_err());
pub fn fragment<FragmentType, FragmentError>(
&mut self,
fragment: Option<FragmentType>
) -> &mut Self where
Fragment<'uri>: TryFrom<FragmentType, Error = FragmentError>,
InvalidFragment: From<FragmentError>,
[src]
&mut self,
fragment: Option<FragmentType>
) -> &mut Self where
Fragment<'uri>: TryFrom<FragmentType, Error = FragmentError>,
InvalidFragment: From<FragmentError>,
Sets the fragment part of the relative reference.
If the given fragment is not a valid fragment (i.e. the conversion fails), an error is
stored internally and checked during the RelativeReferenceBuilder::build
function. The
error state will be rewritten for any following calls to this function.
It is optional to specify a fragment.
Examples
use uriparse::RelativeReferenceBuilder; let mut builder = RelativeReferenceBuilder::new(); builder.path("/my/path").fragment(Some("fragment")); let reference = builder.build().unwrap(); assert_eq!(reference.to_string(), "/my/path#fragment");
pub fn new() -> Self
[src]
Constructs a new builder with nothing set.
pub fn path<PathType, PathError>(&mut self, path: PathType) -> &mut Self where
Path<'uri>: TryFrom<PathType, Error = PathError>,
InvalidPath: From<PathError>,
[src]
Path<'uri>: TryFrom<PathType, Error = PathError>,
InvalidPath: From<PathError>,
Sets the path part of the relative reference.
If the given path is not a valid path (i.e. the conversion fails), an error is stored
internally and checked during the RelativeReferenceBuilder::build
function. The error
state will be rewritten for any following calls to this function.
It is required to specify an path. Not doing so will result in an error during the
RelativeReferenceBuilder::build
function.
Examples
use uriparse::RelativeReferenceBuilder; let mut builder = RelativeReferenceBuilder::new(); builder.path("/my/path"); let reference = builder.build().unwrap(); assert_eq!(reference.to_string(), "/my/path");
pub fn query<QueryType, QueryError>(
&mut self,
query: Option<QueryType>
) -> &mut Self where
Query<'uri>: TryFrom<QueryType, Error = QueryError>,
InvalidQuery: From<QueryError>,
[src]
&mut self,
query: Option<QueryType>
) -> &mut Self where
Query<'uri>: TryFrom<QueryType, Error = QueryError>,
InvalidQuery: From<QueryError>,
Sets the query part of the relative reference.
If the given query is not a valid query (i.e. the conversion fails), an error is stored
internally and checked during the RelativeReferenceBuilder::build
function. The error
state will be rewritten for any following calls to this function.
It is optional to specify a query.
Examples
use uriparse::RelativeReferenceBuilder; let mut builder = RelativeReferenceBuilder::new(); builder.path("/my/path").query(Some("query")); let reference = builder.build().unwrap(); assert_eq!(reference.to_string(), "/my/path?query");
Trait Implementations
impl<'uri> PartialEq<RelativeReferenceBuilder<'uri>> for RelativeReferenceBuilder<'uri>
[src]
fn eq(&self, other: &RelativeReferenceBuilder<'uri>) -> bool
[src]
fn ne(&self, other: &RelativeReferenceBuilder<'uri>) -> bool
[src]
impl<'uri> Default for RelativeReferenceBuilder<'uri>
[src]
fn default() -> RelativeReferenceBuilder<'uri>
[src]
impl<'uri> Clone for RelativeReferenceBuilder<'uri>
[src]
fn clone(&self) -> RelativeReferenceBuilder<'uri>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<'uri> Eq for RelativeReferenceBuilder<'uri>
[src]
impl<'uri> Debug for RelativeReferenceBuilder<'uri>
[src]
Auto Trait Implementations
impl<'uri> Send for RelativeReferenceBuilder<'uri>
impl<'uri> Sync for RelativeReferenceBuilder<'uri>
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,