[][src]Struct websocket::codec::http::HttpClientCodec

pub struct HttpClientCodec;

A codec to be used with tokio codecs that can serialize HTTP requests and deserialize HTTP responses. One can use this on it's own without websockets to make a very bare async HTTP server.

Example

use websocket::async::HttpClientCodec;

let mut runtime = tokio::runtime::Builder::new().build().unwrap();
let addr = "crouton.net".parse().unwrap();

let f = TcpStream::connect(&addr)
    .and_then(|s| {
        Ok(HttpClientCodec.framed(s))
    })
    .and_then(|s| {
        s.send(Incoming {
            version: HttpVersion::Http11,
            subject: (Method::Get, RequestUri::AbsolutePath("/".to_string())),
            headers: Headers::new(),
        })
    })
    .map_err(|e| e.into())
    .and_then(|s| s.into_future().map_err(|(e, _)| e))
    .map(|(m, _)| println!("You got a crouton: {:?}", m));

runtime.block_on(f).unwrap();

Trait Implementations

impl Clone for HttpClientCodec
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Copy for HttpClientCodec
[src]

impl Debug for HttpClientCodec
[src]

impl Encoder for HttpClientCodec
[src]

type Item = Incoming<(Method, RequestUri)>

The type of items consumed by the Encoder

type Error = Error

The type of encoding errors. Read more

impl Decoder for HttpClientCodec
[src]

type Item = Incoming<RawStatus>

The type of decoded frames.

type Error = HttpCodecError

The type of unrecoverable frame decoding errors. Read more

fn decode_eof(
    &mut self,
    buf: &mut BytesMut
) -> Result<Option<Self::Item>, Self::Error>
[src]

A default method available to be called when there are no more bytes available to be read from the underlying I/O. Read more

fn framed<T>(self, io: T) -> Framed<T, Self> where
    Self: Encoder,
    T: AsyncRead + AsyncWrite
[src]

Provides a Stream and Sink interface for reading and writing to this Io object, using Decode and Encode to read and write the raw data. Read more

Auto Trait Implementations

Blanket Implementations

impl<T> From for T
[src]

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.

impl<T> Erased for T