Struct arti_hyper::ArtiHttpConnector
source · pub struct ArtiHttpConnector<R: Runtime, TC: TlsConn> { /* private fields */ }Expand description
Main entrypoint: hyper connector to make HTTP[S] connections via Tor, using Arti.
An ArtiHttpConnector combines an Arti Tor client, and a TLS implementation,
in a form that can be provided to hyper
(e.g. to hyper::client::Builder’s build method)
so that hyper can speak HTTP and HTTPS to origin servers via Tor.
TC is the TLS to used across Tor to connect to the origin server.
For example, it could be a tls_api_native_tls::TlsConnector.
This is a different Rust type to the TLS used by Tor to connect to relays etc.
It might even be a different underlying TLS implementation
(although that is usually not a particularly good idea).
Implementations§
Trait Implementations§
source§impl<R: Runtime, TC: TlsConn> Service<Uri> for ArtiHttpConnector<R, TC>
impl<R: Runtime, TC: TlsConn> Service<Uri> for ArtiHttpConnector<R, TC>
§type Response = ArtiHttpConnection<TC>
type Response = ArtiHttpConnection<TC>
Responses given by the service.
§type Error = ConnectionError
type Error = ConnectionError
Errors produced by the service.
§type Future = Pin<Box<dyn Future<Output = Result<<ArtiHttpConnector<R, TC> as Service<Uri>>::Response, <ArtiHttpConnector<R, TC> as Service<Uri>>::Error>> + Send + 'static, Global>>
type Future = Pin<Box<dyn Future<Output = Result<<ArtiHttpConnector<R, TC> as Service<Uri>>::Response, <ArtiHttpConnector<R, TC> as Service<Uri>>::Error>> + Send + 'static, Global>>
The future response value.
Auto Trait Implementations§
impl<R, TC> !RefUnwindSafe for ArtiHttpConnector<R, TC>
impl<R, TC> Send for ArtiHttpConnector<R, TC>
impl<R, TC> Sync for ArtiHttpConnector<R, TC>
impl<R, TC> Unpin for ArtiHttpConnector<R, TC>where R: Unpin,
impl<R, TC> !UnwindSafe for ArtiHttpConnector<R, TC>
Blanket Implementations§
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.