Skip to main content

LocalServer

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 Eq for LocalServer

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 (const: unstable) · 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 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<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<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> 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 = 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