Skip to main content

TestWebSocket

Struct TestWebSocket 

Source
pub struct TestWebSocket { /* private fields */ }
Available on non-WebAssembly only.
Expand description

The test side of an upgraded connection; see the module docs.

Dropping it ends the connection (the handler’s recv returns an error), without waiting for the handler.

Implementations§

Source§

impl TestWebSocket

Source

pub fn handshake(&self) -> &TestResponse

The 101 response, for its headers (Sec-WebSocket-Protocol, …).

Source

pub fn send_text(&mut self, text: &str)

Send a text message. Panics if the handler’s side is gone.

Source

pub fn send_binary(&mut self, data: &[u8])

Send a binary message. Panics if the handler’s side is gone.

Source

pub fn ping(&mut self, payload: &[u8]) -> Result<(), String>

Send a ping; the handler’s pong is returned by recv_frame (and skipped by recv).

Source

pub fn send(&mut self, frame: Frame) -> Result<(), String>

Send frame, masked as a client must.

Source

pub fn send_raw(&mut self, bytes: &[u8]) -> Result<(), String>

Send bytes as they are — for testing how the handler copes with frames a well-behaved client wouldn’t send (unmasked, bad opcodes).

Source

pub fn recv_frame(&mut self) -> Result<Frame, String>

The next frame from the handler, waiting at most the timeout. Pings are answered (and returned); nothing is joined.

Source

pub fn recv(&mut self) -> Result<Option<Message>, String>

The next message from the handler: Ok(None) once it sent a close frame (answered here, see close_code), Err on a timeout or when the handler returned without closing. Pings and pongs are skipped, fragments joined.

Source

pub fn recv_text(&mut self) -> String

The next message, which must be text. Panics otherwise (binary, a close, a timeout), with what came instead.

Source

pub fn recv_binary(&mut self) -> Vec<u8> ⓘ

The next message, which must be binary. Panics otherwise.

Source

pub fn close_code(&self) -> Option<Option<u16>>

The close code the handler sent, once it closed (Some(None) for a close frame without one).

Source

pub fn close(self, code: u16, reason: &str) -> Option<u16>

Run the closing handshake: send a close frame with code and reason, skip messages until the handler’s close (or the timeout), then end the connection and wait (at most the timeout) for the handler to return. Returns the handler’s close code, None when it didn’t send one.

Source

pub fn handler_finished(&self, timeout: Duration) -> bool

Wait at most timeout for the handler to return; true if it did.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more