fn unify<T>(self) -> Unify<Self>
    where
        Self: Filter<Extract = (Either<T, T>,)> + Sized,
        T: Tuple,
    {
        Unify { filter: self }
    }
/// Unifies the extracted value of `Filter`s composed with `or`.
///
/// When a `Filter` extracts some `Either<T, T>`, where both sides
/// are the same type, this combinator can be used to grab the
/// inner value, regardless of which side of `Either` it was. This
/// is useful for values that could be extracted from multiple parts
/// of a request, and the exact place isn't important.
///
/// # Example
///
/// ```rust
/// use std::net::SocketAddr;
/// use warp::Filter;
///
/// let client_ip = warp::header("x-real-ip")
///     .or(warp::header("x-forwarded-for"))
///     .unify()
///     .map(|ip: SocketAddr| {
///         // Get the IP from either header,
///         // and unify into the inner type.
///     });
/// ```
Unifies the extracted value of `Filter`s composed with `or`.
Unifies the extracted value of ` Filter ` s composed with ` or ` .
fn unify<T>(self) -> Unify<Self>
    where
        Self: Filter<Extract = (Either<T, T>,)> + Sized,
        T: Tuple,
    {
        Unify { filter: self }
    }
fn unify < T > ( self ) -> Unify < Self > where Self : Filter < Extract = ( Either < T , T > , ) > + Sized , T : Tuple , { Unify { filter : self } }
Unifies the extracted value of `Filter`s composed with `or`.
Unifies the extracted value of ` Filter ` s composed with ` or ` .
self
self
example
```rust
use std::net::SocketAddr;
use warp::Filter.

let client_ip = warp::header("x-real-ip")
.or(warp::header("x-forwarded-for"))
.unify()
.map(|ip: SocketAddr| {
Get the IP from either header,
and unify into the inner type.
` ` ` rust use std :: net :: SocketAddr ; use warp :: Filter . let client_ip = warp :: header ( " x - real - ip " ) . or ( warp :: header ( " x - forwarded - for " )) . unify () . map ( |ip : SocketAddr| { Get the IP from either header and unify into the inner type .