Struct LocalServer

Source
pub struct LocalServer {
    pub uri: String,
    pub address: String,
    pub response: String,
}
Expand description

A local server that can be used to listen for requests.

§Examples

use drive_v3::LocalServer;

let local_server = LocalServer::new();
let received_request = local_server.wait_for_request().expect("failed to listen for requests");

// The local server is now running and waiting for a request,
// run "curl http://localhost:7878/my-request-url" to send one.

assert_eq!(received_request, "http://localhost:7878/my-request-url");

Fields§

§uri: String

URI that a website can make requests to in order for them to be received by the server. (default: “http://localhost:7878”)

§address: String

Address where the server listens for requests. (default: “localhost:7878”)

§response: String

Response returned by the server after receiving a request. (default: “request processed!”)

Implementations§

Source§

impl LocalServer

Source

pub fn new() -> Self

Creates a new LocalServer with default values.

Source

pub fn at<T: AsRef<str>>(self, address: T, port: usize) -> Self

Sets the address and port values for a LocalServer.

§Examples
use drive_v3::LocalServer;

let local_server = LocalServer::new().at("127.0.0.1", 8080);

assert_eq!(local_server.uri, "http://127.0.0.1:8080");
assert_eq!(local_server.address, "127.0.0.1:8080");
Source

pub fn with_response<T: AsRef<str>>(self, response: T) -> Self

Sets the response that the LocalServer will return after successfully receiving a request.

§Examples
use drive_v3::LocalServer;

let local_server = LocalServer::new().with_response("this is my response");

assert_eq!( local_server.response, String::from("this is my response") )
Source

pub fn wait_for_request(&self) -> Result<String>

Runs a LocalServer and binds a listener to its address, after receiving a request the server will close and return the URI of the received request.

§Examples
use drive_v3::LocalServer;

let local_server = LocalServer::new();
let received_request = local_server.wait_for_request()?;

// The local server is now running and waiting for a request,
// run "curl http://localhost:7878/my-request-url" to send one.

assert_eq!(received_request, "http://localhost:7878/my-request-url");
§Errors
  • an IO error, if the server fails to to bind a TCP listener its address or if the incoming request is invalid.
  • a LocalServer error, if the LocalServer failed to listen for incoming requests.

Trait Implementations§

Source§

impl Debug for LocalServer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for LocalServer

Source§

fn default() -> Self

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

impl PartialEq for LocalServer

Source§

fn eq(&self, other: &LocalServer) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for LocalServer

Source§

impl StructuralPartialEq for LocalServer

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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
Source§

impl<T> ErasedDestructor for T
where T: 'static,