# Struct http::uri::Builder [−] [src]

    pub struct Builder { /* fields omitted */ }

A builder for `Uri`s.

This type can be used to construct an instance of `Uri` through a builder pattern.

## Implementations

### `impl Builder` [src]

#### `pub fn new() -> Builder` [src]

Creates a new default instance of `Builder` to construct a `Uri`.

# Examples

    let uri = uri::Builder::new()
        .scheme("https")
        .authority("hyper.rs")
        .path_and_query("/")
        .build()
        .unwrap();

#### `pub fn scheme<T>(self, scheme: T) -> Self where
Scheme: TryFrom<T>,
<Scheme as TryFrom<T>>::Error: Into<Error>,` [src]

Set the `Scheme` for this URI.

# Examples

    let mut builder = uri::Builder::new();
    builder.scheme("https");

#### `pub fn authority<T>(self, auth: T) -> Self where
Authority: TryFrom<T>,
<Authority as TryFrom<T>>::Error: Into<Error>,` [src]

Set the `Authority` for this URI.

# Examples

    let uri = uri::Builder::new()
        .authority("tokio.rs")
        .build()
        .unwrap();

#### `pub fn path_and_query<T>(self, p_and_q: T) -> Self where
PathAndQuery: TryFrom<T>,
<PathAndQuery as TryFrom<T>>::Error: Into<Error>,` [src]

Set the `PathAndQuery` for this URI.

# Examples

    let uri = uri::Builder::new()
        .path_and_query("/hello?foo=bar")
        .build()
        .unwrap();

#### `pub fn build(self) -> Result<Uri, Error>` [src]

Consumes this builder, and tries to construct a valid `Uri` from the configured pieces.

# Errors

This function may return an error if any previously configured argument failed to parse or get converted to the internal representation. For example if an invalid `scheme` was specified via `scheme("!@#%/^")` the error will be returned when this function is called rather than when `scheme` was called.

Additionally, the various forms of URI require certain combinations of parts to be set to be valid. If the parts don’t fit into any of the valid forms of URI, a new error is returned.

# Examples

    let uri = Uri::builder()
        .build()
        .unwrap();

## Trait Implementations

### `impl Debug for Builder` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

### `impl Default for Builder` [src]

#### `fn default() -> Builder` [src]

Returns the “default value” for a type. Read more

## Auto Trait Implementations

### `impl RefUnwindSafe for Builder`

### `impl Send for Builder`

### `impl Sync for Builder`

### `impl Unpin for Builder`

### `impl UnwindSafe for Builder`

## Blanket Implementations

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `pub fn type_id(&self) -> TypeId` [src]

Gets the `TypeId` of `self`. Read more

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

### `impl<T> From<T> for T` [src]

#### `pub fn from(t: T) -> T` [src]

Performs the conversion.

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `pub fn into(self) -> U` [src]

Performs the conversion.

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` [src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

#### `type Error = <U as TryFrom<T>>::Error`

The type returned in the event of a conversion error.

#### `pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.