Struct ngrok::config::HttpTunnelBuilder
source · pub struct HttpTunnelBuilder { /* private fields */ }
Expand description
A builder for a tunnel backing an HTTP endpoint.
https://ngrok.com/docs/http/
Implementations§
source§impl HttpTunnelBuilder
impl HttpTunnelBuilder
sourcepub fn allow_cidr(&mut self, cidr: impl Into<String>) -> &mut Self
pub fn allow_cidr(&mut self, cidr: impl Into<String>) -> &mut Self
Add the provided CIDR to the allowlist.
https://ngrok.com/docs/http/ip-restrictions/
sourcepub fn deny_cidr(&mut self, cidr: impl Into<String>) -> &mut Self
pub fn deny_cidr(&mut self, cidr: impl Into<String>) -> &mut Self
Add the provided CIDR to the denylist.
https://ngrok.com/docs/http/ip-restrictions/
sourcepub fn proxy_proto(&mut self, proxy_proto: ProxyProto) -> &mut Self
pub fn proxy_proto(&mut self, proxy_proto: ProxyProto) -> &mut Self
Sets the PROXY protocol version for connections over this tunnel.
sourcepub fn metadata(&mut self, metadata: impl Into<String>) -> &mut Self
pub fn metadata(&mut self, metadata: impl Into<String>) -> &mut Self
Sets the opaque metadata string for this tunnel.
https://ngrok.com/docs/api/resources/tunnels/#tunnel-fields
sourcepub fn binding(&mut self, binding: impl Into<String>) -> &mut Self
pub fn binding(&mut self, binding: impl Into<String>) -> &mut Self
Sets the ingress configuration for this endpoint
sourcepub fn forwards_to(&mut self, forwards_to: impl Into<String>) -> &mut Self
pub fn forwards_to(&mut self, forwards_to: impl Into<String>) -> &mut Self
Sets the ForwardsTo string for this tunnel. This can be viewed via the API or dashboard.
This overrides the default process info if using TunnelBuilder::listen, and is in turn overridden by the url provided to ForwarderBuilder::listen_and_forward.
https://ngrok.com/docs/api/resources/tunnels/#tunnel-fields
sourcepub fn app_protocol(&mut self, app_protocol: impl Into<String>) -> &mut Self
pub fn app_protocol(&mut self, app_protocol: impl Into<String>) -> &mut Self
Sets the L7 protocol for this tunnel.
sourcepub fn verify_upstream_tls(&mut self, verify_upstream_tls: bool) -> &mut Self
pub fn verify_upstream_tls(&mut self, verify_upstream_tls: bool) -> &mut Self
Disables backend TLS certificate verification for forwards from this tunnel.
sourcepub fn domain(&mut self, domain: impl Into<String>) -> &mut Self
pub fn domain(&mut self, domain: impl Into<String>) -> &mut Self
Sets the domain to request for this edge.
https://ngrok.com/docs/network-edge/domains-and-tcp-addresses/#domains
sourcepub fn mutual_tlsca(&mut self, mutual_tlsca: Bytes) -> &mut Self
pub fn mutual_tlsca(&mut self, mutual_tlsca: Bytes) -> &mut Self
Adds a certificate in PEM format to use for mutual TLS authentication.
These will be used to authenticate client certificates for requests at the ngrok edge.
https://ngrok.com/docs/http/mutual-tls/
sourcepub fn compression(&mut self) -> &mut Self
pub fn compression(&mut self) -> &mut Self
Enables gzip compression.
https://ngrok.com/docs/http/compression/
sourcepub fn websocket_tcp_conversion(&mut self) -> &mut Self
pub fn websocket_tcp_conversion(&mut self) -> &mut Self
Enables the websocket-to-tcp converter.
https://ngrok.com/docs/http/websocket-tcp-converter/
sourcepub fn circuit_breaker(&mut self, circuit_breaker: f64) -> &mut Self
pub fn circuit_breaker(&mut self, circuit_breaker: f64) -> &mut Self
Sets the 5XX response ratio at which the ngrok edge will stop sending requests to this tunnel.
https://ngrok.com/docs/http/circuit-breaker/
sourcepub fn host_header_rewrite(&mut self, rewrite: bool) -> &mut Self
pub fn host_header_rewrite(&mut self, rewrite: bool) -> &mut Self
Automatically rewrite the host header to the one in the provided URL
when calling ForwarderBuilder::listen_and_forward. Does nothing if
using TunnelBuilder::listen. Defaults to false
.
If you need to set the host header to a specific value, use
cfg.request_header("host", "some.host.com")
instead.
sourcepub fn request_header(
&mut self,
name: impl Into<String>,
value: impl Into<String>
) -> &mut Self
pub fn request_header( &mut self, name: impl Into<String>, value: impl Into<String> ) -> &mut Self
Adds a header to all requests to this edge.
https://ngrok.com/docs/http/request-headers/
sourcepub fn response_header(
&mut self,
name: impl Into<String>,
value: impl Into<String>
) -> &mut Self
pub fn response_header( &mut self, name: impl Into<String>, value: impl Into<String> ) -> &mut Self
Adds a header to all responses coming from this edge.
https://ngrok.com/docs/http/response-headers/
sourcepub fn remove_request_header(&mut self, name: impl Into<String>) -> &mut Self
pub fn remove_request_header(&mut self, name: impl Into<String>) -> &mut Self
Removes a header from requests to this edge.
https://ngrok.com/docs/http/request-headers/
sourcepub fn remove_response_header(&mut self, name: impl Into<String>) -> &mut Self
pub fn remove_response_header(&mut self, name: impl Into<String>) -> &mut Self
Removes a header from responses from this edge.
https://ngrok.com/docs/http/response-headers/
sourcepub fn basic_auth(
&mut self,
username: impl Into<String>,
password: impl Into<String>
) -> &mut Self
pub fn basic_auth( &mut self, username: impl Into<String>, password: impl Into<String> ) -> &mut Self
Adds the provided credentials to the list of basic authentication credentials.
https://ngrok.com/docs/http/basic-auth/
sourcepub fn oauth(&mut self, oauth: impl Borrow<OauthOptions>) -> &mut Self
pub fn oauth(&mut self, oauth: impl Borrow<OauthOptions>) -> &mut Self
Set the OAuth configuraton for this edge.
https://ngrok.com/docs/http/oauth/
sourcepub fn oidc(&mut self, oidc: impl Borrow<OidcOptions>) -> &mut Self
pub fn oidc(&mut self, oidc: impl Borrow<OidcOptions>) -> &mut Self
Set the OIDC configuration for this edge.
https://ngrok.com/docs/http/openid-connect/
sourcepub fn webhook_verification(
&mut self,
provider: impl Into<String>,
secret: impl Into<String>
) -> &mut Self
pub fn webhook_verification( &mut self, provider: impl Into<String>, secret: impl Into<String> ) -> &mut Self
Configures webhook verification for this edge.
https://ngrok.com/docs/http/webhook-verification/
sourcepub fn allow_user_agent(&mut self, regex: impl Into<String>) -> &mut Self
pub fn allow_user_agent(&mut self, regex: impl Into<String>) -> &mut Self
Add the provided regex to the allowlist.
https://ngrok.com/docs/http/user-agent-filter/
sourcepub fn deny_user_agent(&mut self, regex: impl Into<String>) -> &mut Self
pub fn deny_user_agent(&mut self, regex: impl Into<String>) -> &mut Self
Add the provided regex to the denylist.
https://ngrok.com/docs/http/user-agent-filter/
sourcepub fn policy<S>(&mut self, s: S) -> Result<&mut Self, S::Error>
pub fn policy<S>(&mut self, s: S) -> Result<&mut Self, S::Error>
DEPRECATED: use traffic_policy instead.
sourcepub fn traffic_policy(&mut self, policy_str: impl Into<String>) -> &mut Self
pub fn traffic_policy(&mut self, policy_str: impl Into<String>) -> &mut Self
Set policy for this edge.
Trait Implementations§
source§impl Clone for HttpTunnelBuilder
impl Clone for HttpTunnelBuilder
source§fn clone(&self) -> HttpTunnelBuilder
fn clone(&self) -> HttpTunnelBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl ForwarderBuilder for HttpTunnelBuilder
impl ForwarderBuilder for HttpTunnelBuilder
source§fn listen_and_forward<'life0, 'async_trait>(
&'life0 self,
to_url: Url
) -> Pin<Box<dyn Future<Output = Result<Forwarder<HttpTunnel>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn listen_and_forward<'life0, 'async_trait>(
&'life0 self,
to_url: Url
) -> Pin<Box<dyn Future<Output = Result<Forwarder<HttpTunnel>, RpcError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
source§impl From<Session> for HttpTunnelBuilder
impl From<Session> for HttpTunnelBuilder
source§impl TunnelBuilder for HttpTunnelBuilder
impl TunnelBuilder for HttpTunnelBuilder
§type Tunnel = HttpTunnel
type Tunnel = HttpTunnel
Auto Trait Implementations§
impl Freeze for HttpTunnelBuilder
impl !RefUnwindSafe for HttpTunnelBuilder
impl Send for HttpTunnelBuilder
impl Sync for HttpTunnelBuilder
impl Unpin for HttpTunnelBuilder
impl !UnwindSafe for HttpTunnelBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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