ProxyConfig

Struct ProxyConfig 

Source
pub struct ProxyConfig { /* private fields */ }
Expand description

A configuration object that allows for fine-grained control over a proxy endpoint.

Implementations§

Source§

impl ProxyConfig

§Implementation of Builder Functions

The ProxyConfig struct follows the builder pattern to enable explicit and succinct configuration of the proxy endpoint.

Source

pub fn new<'a>(target: impl Into<String>) -> ProxyConfig

Function that creates a new ProxyConfig for a given target and sets all other parameters to their default values. See the default implementation for more information.

Source

pub fn web_secure<'a>(&'a mut self) -> &'a mut ProxyConfig

This function sets the endpoint to forward requests to the target over the https protocol. This is a secure and encrypted communication channel that should be utilized when possible.

Source

pub fn web_insecure<'a>(&'a mut self) -> &'a mut ProxyConfig

This function sets the endpoint to forward requests to the target over the http protocol. This is an insecure and unencrypted communication channel that should be used very carefully.

Source

pub fn enable_nesting<'a>(&'a mut self) -> &'a mut ProxyConfig

This function sets the waypoint to support nesting.

For example, if endpoint.target is https://google.com and the proxy is reached at https://proxy_address/favicon.png, the proxy server will forward the request to https://google.com/favicon.png.

Source

pub fn disable_nesting<'a>(&'a mut self) -> &'a mut ProxyConfig

This function sets the waypoint to ignore nesting.

For example, if endpoint.target is https://google.com and the proxy is reached at https://proxy_address/favicon.png, the proxy server will forward the request to https://google.com.

Source

pub fn finish<'a>(&'a mut self) -> ProxyConfig

Finishes off the building process by returning a new ProxyConfig object (not reference) that contains all the settings that were previously specified.

Source§

impl ProxyConfig

§Convenience Functions

These functions make it possible to get information from the ProxyConfig struct.

Source

pub fn get_web_request_uri(&self, subpath: Option<String>) -> Result<String, ()>

Returns the target url of the request, including the proper protocol information and the correct pathing if nesting is enabled

An example output would be

"https://proxy.domain.com"

Trait Implementations§

Source§

impl Clone for ProxyConfig

Source§

fn clone(&self) -> ProxyConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ProxyConfig

Source§

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

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

impl Default for ProxyConfig

Source§

fn default() -> Self

Returns the default value for the ProxyConfig, which corresponds to the following:

proxy_target: "http://localhost:3000"

web_secure: None

ws_secure: None

support_nesting: false

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<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