<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `ClientConnector` struct in crate `actix_web`."><metaname="keywords"content="rust, rustlang, rust-lang, ClientConnector"><title>actix_web::client::ClientConnector - Rust</title><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../dark.css"><linkrel="stylesheet"type="text/css"href="../../light.css"id="themeStyle"><scriptsrc="../../storage.js"></script></head><bodyclass="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><pclass='location'>Struct ClientConnector</p><divclass="sidebar-elems"><divclass="block items"><aclass="sidebar-title"href="#methods">Methods</a><divclass="sidebar-links"><ahref="#method.with_connector">with_connector</a><ahref="#method.limit">limit</a><ahref="#method.limit_per_host">limit_per_host</a><ahref="#method.conn_keep_alive">conn_keep_alive</a><ahref="#method.conn_lifetime">conn_lifetime</a><ahref="#method.stats">stats</a><ahref="#method.resolver">resolver</a></div><aclass="sidebar-title"href="#implementations">Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-Actor">Actor</a><ahref="#impl-Supervised">Supervised</a><ahref="#impl-SystemService">SystemService</a><ahref="#impl-Default">Default</a><ahref="#impl-Handler%3CPause%3E">Handler<Pause></a><ahref="#impl-Handler%3CResume%3E">Handler<Resume></a><ahref="#impl-Handler%3CConnect%3E">Handler<Connect></a></div><aclass="sidebar-title"href="#synthetic-implementations">Auto Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-Send">Send</a><ahref="#impl-Sync">!Sync</a></div></div><pclass='location'><ahref='../index.html'>actix_web</a>::<wbr><ahref='index.html'>client</a></p><script>window.sidebarCurrent={name:'ClientConnector',ty:'struct',relpath:''};</script><scriptdefersrc="sidebar-items.js"></script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"><imgsrc="../../brush.svg"width="18"alt="Pick another theme!"></button><divid="theme-choices"></div></div><scriptsrc="../../theme.js"></script><navclass="sub"><formclass="search-form js-only"><divclass="search-container"><inputclass="search-input"name="search"autocomplete="off"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><aid="settings-menu"href="../../settings.html"><imgsrc="../../wheel.svg"width="18"alt="Change settings"></a></div></form></nav><sectionid="main"class="content"><h1class='fqn'><spanclass='in-band'>Struct <ahref='../index.html'>actix_web</a>::<wbr><ahref='index.html'>client</a>::<wbr><aclass="struct"href=''>ClientConnector</a></span><spanclass='out-of-band'><spanid='render-detail'><aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass='inner'>−</span>]</a></span><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#191-215'title='goto source code'>[src]</a></span></h1><divclass="docblock type-decl"><preclass='rust struct'>pub struct ClientConnector { /* fields omitted */ }</pre></div><divclass='docblock'><p><code>ClientConnector</code> type is responsible for transport layer of a
<p>By default <code>ClientConnector</code> uses very a simple SSL configuration.
With <code>with_connector</code> method it is possible to use a custom
<code>SslConnector</code> object.</p>
<divclass='information'><divclass='tooltip ignore'>ⓘ<spanclass='tooltiptext'>This example is not tested</span></div></div><preclass="rust rust-example-rendered ignore">
</div><h4id='method.limit'class="method"><spanid='limit.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>pub fn <ahref='#method.limit'class='fnname'>limit</a>(self, limit: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self</code></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#359-362'title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><divclass='docblock'><p>Set total number of simultaneous connections.</p>
<p>If limit is 0, the connector has no limit.
The default limit size is 100.</p>
</div><h4id='method.limit_per_host'class="method"><spanid='limit_per_host.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>pub fn <ahref='#method.limit_per_host'class='fnname'>limit_per_host</a>(self, limit: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> Self</code></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#368-371'title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><divclass='docblock'><p>Set total number of simultaneous connections to the same endpoint.</p>
<p>Endpoints are the same if they have equal (host, port, ssl) triplets.
If limit is 0, the connector has no limit. The default limit size is 0.</p>
</div><h4id='method.conn_keep_alive'class="method"><spanid='conn_keep_alive.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>pub fn <ahref='#method.conn_keep_alive'class='fnname'>conn_keep_alive</a>(self, dur: <aclass="struct"href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html"title="struct core::time::Duration">Duration</a>) -> Self</code></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#379-382'title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><divclass='docblock'><p>Set keep-alive period for opened connection.</p>
<p>Keep-alive period is the period between connection usage. If
the delay between repeated usages of the same connection
exceeds this period, the connection is closed.
Default keep-alive period is 15 seconds.</p>
</div><h4id='method.conn_lifetime'class="method"><spanid='conn_lifetime.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>pub fn <ahref='#method.conn_lifetime'class='fnname'>conn_lifetime</a>(self, dur: <aclass="struct"href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html"title="struct core::time::Duration">Duration</a>) -> Self</code></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#389-392'title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><divclass='docblock'><p>Set max lifetime period for connection.</p>
<p>Connection lifetime is max lifetime of any opened connection
until it is closed regardless of keep-alive period.
</div><h4id='method.stats'class="method"><spanid='stats.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>pub fn <ahref='#method.stats'class='fnname'>stats</a>(self, subs: <aclass="struct"href="../../actix_web/actix/actix/struct.Recipient.html"title="struct actix_web::actix::actix::Recipient">Recipient</a><<aclass="struct"href="../../actix_web/client/struct.ClientConnectorStats.html"title="struct actix_web::client::ClientConnectorStats">ClientConnectorStats</a>>) -> Self</code></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#395-398'title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><divclass='docblock'><p>Subscribe for connector stats. Only one subscriber is supported.</p>
</div><h4id='method.started'class="method"><spanid='started.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.Actor.html#method.started'class='fnname'>started</a>(&mut self, ctx: &mut Self::<aclass="type"href="../../actix_web/actix/actix/trait.Actor.html#associatedtype.Context"title="type actix_web::actix::actix::Actor::Context">Context</a>)</code></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#220-227'title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><divclass='docblock'><p>Method is called when actor get polled first time.</p>
</div><h4id='method.stopping'class="method"><spanid='stopping.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.Actor.html#method.stopping'class='fnname'>stopping</a>(&mut self, ctx: &mut Self::<aclass="type"href="../../actix_web/actix/actix/trait.Actor.html#associatedtype.Context"title="type actix_web::actix::actix::Actor::Context">Context</a>) -><aclass="enum"href="../../actix_web/actix/actix/enum.Running.html"title="enum actix_web::actix::actix::Running">Running</a></code></td><td></td></tr></tbody></table></span></h4><divclass='docblock'><p>Method is called after an actor is in <code>Actor::Stopping</code> state. There could be several reasons for stopping. <code>Context::stop</code> get called by the actor itself. All addresses to current actor get dropped and no more evented objects left in the context. <ahref="../../actix_web/actix/actix/trait.Actor.html#method.stopping">Read more</a></p>
</div><h4id='method.stopped'class="method"><spanid='stopped.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.Actor.html#method.stopped'class='fnname'>stopped</a>(&mut self, ctx: &mut Self::<aclass="type"href="../../actix_web/actix/actix/trait.Actor.html#associatedtype.Context"title="type actix_web::actix::actix::Actor::Context">Context</a>)</code></td><td></td></tr></tbody></table></span></h4><divclass='docblock'><p>Method is called after an actor is stopped, it can be used to perform any needed cleanup work or spawning more actors. This is final state, after this call actor get dropped. <ahref="../../actix_web/actix/actix/trait.Actor.html#method.stopped">Read more</a></p>
</div><h4id='method.start'class="method"><spanid='start.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.Actor.html#method.start'class='fnname'>start</a>(self) -><aclass="struct"href="../../actix_web/actix/actix/struct.Addr.html"title="struct actix_web::actix::actix::Addr">Addr</a><Self><spanclass="where fmt-newline">where<br> Self: <aclass="trait"href="../../actix_web/actix/actix/trait.Actor.html"title="trait actix_web::actix::actix::Actor">Actor</a><Context = <aclass="struct"href="../../actix_web/actix/actix/struct.Context.html"title="struct actix_web::actix::actix::Context">Context</a><Self>>, </span></code></td><td></td></tr></tbody></table></span></h4><divclass='docblock'><p>Start new asynchronous actor, returns address of newly created actor. <ahref="../../actix_web/actix/actix/trait.Actor.html#method.start">Read more</a></p>
</div><h4id='method.start_default'class="method"><spanid='start_default.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.Actor.html#method.start_default'class='fnname'>start_default</a>() -><aclass="struct"href="../../actix_web/actix/actix/struct.Addr.html"title="struct actix_web::actix::actix::Addr">Addr</a><Self><spanclass="where fmt-newline">where<br> Self: <aclass="trait"href="../../actix_web/actix/actix/trait.Actor.html"title="trait actix_web::actix::actix::Actor">Actor</a><Context = <aclass="struct"href="../../actix_web/actix/actix/struct.Context.html"title="struct actix_web::actix::actix::Context">Context</a><Self>> + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html"title="trait core::default::Default">Default</a>, </span></code></td><td></td></tr></tbody></table></span></h4><divclass='docblock'><p>Start new asynchronous actor, returns address of newly created actor.</p>
</div><h4id='method.create'class="method"><spanid='create.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.Actor.html#method.create'class='fnname'>create</a><F>(f: F) -><aclass="struct"href="../../actix_web/actix/actix/struct.Addr.html"title="struct actix_web::actix::actix::Addr">Addr</a><Self><spanclass="where fmt-newline">where<br> F: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html"title="trait core::ops::function::FnOnce">FnOnce</a>(&mut <aclass="struct"href="../../actix_web/actix/actix/struct.Context.html"title="struct actix_web::actix::actix::Context">Context</a><Self>) -> Self + 'static,<br> Self: <aclass="trait"href="../../actix_web/actix/actix/trait.Actor.html"title="trait actix_web::actix::actix::Actor">Actor</a><Context = <aclass="struct"href="../../actix_web/actix/actix/struct.Context.html"title="struct actix_web::actix::actix::Context">Context</a><Self>>, </span></code></td><td></td></tr></tbody></table></span></h4><divclass='docblock'><p>Use <code>create</code> method, if you need <code>Context</code> object during actor initialization. <ahref="../../actix_web/actix/actix/trait.Actor.html#method.create">Read more</a></p>
</div></div><h3id='impl-Supervised'class='impl'><spanclass='in-band'><tableclass='table-display'><tbody><tr><td><code>impl <aclass="trait"href="../../actix_web/actix/actix/trait.Supervised.html"title="trait actix_web::actix::actix::Supervised">Supervised</a> for <aclass="struct"href="../../actix_web/client/struct.ClientConnector.html"title="struct actix_web::client::ClientConnector">ClientConnector</a></code><ahref='#impl-Supervised'class='anchor'></a></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#230'title='goto source code'>[src]</a></span></td></tr></tbody></table></h3><divclass='impl-items'><h4id='method.restarting'class="method"><spanid='restarting.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.Supervised.html#method.restarting'class='fnname'>restarting</a>(&mut self, ctx: &mut Self::<aclass="type"href="../../actix_web/actix/actix/trait.Actor.html#associatedtype.Context"title="type actix_web::actix::actix::Actor::Context">Context</a>)</code></td><td></td></tr></tbody></table></span></h4><divclass='docblock'><p>Method called when supervisor restarting failed actor</p>
</div><h4id='method.service_started'class="method"><spanid='service_started.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.SystemService.html#method.service_started'class='fnname'>service_started</a>(&mut self, ctx: &mut <aclass="struct"href="../../actix_web/actix/actix/struct.Context.html"title="struct actix_web::actix::actix::Context">Context</a><Self>)</code></td><td></td></tr></tbody></table></span></h4><divclass='docblock'><p>Method is called during service initialization.</p>
</div><h4id='method.from_registry'class="method"><spanid='from_registry.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.SystemService.html#method.from_registry'class='fnname'>from_registry</a>() -><aclass="struct"href="../../actix_web/actix/actix/struct.Addr.html"title="struct actix_web::actix::actix::Addr">Addr</a><Self></code></td><td></td></tr></tbody></table></span></h4><divclass='docblock'><p>Get actor's address from system registry</p>
</div></div><h3id='impl-Default'class='impl'><spanclass='in-band'><tableclass='table-display'><tbody><tr><td><code>impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html"title="trait core::default::Default">Default</a> for <aclass="struct"href="../../actix_web/client/struct.ClientConnector.html"title="struct actix_web::client::ClientConnector">ClientConnector</a></code><ahref='#impl-Default'class='anchor'></a></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#234-289'title='goto source code'>[src]</a></span></td></tr></tbody></table></h3><divclass='impl-items'><h4id='method.default'class="method"><spanid='default.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default'class='fnname'>default</a>() -><aclass="struct"href="../../actix_web/client/struct.ClientConnector.html"title="struct actix_web::client::ClientConnector">ClientConnector</a></code></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#235-288'title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><divclass='docblock'><p>Returns the "default value" for a type. <ahref="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
</div><h4id='method.handle'class="method"><spanid='handle.v'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.Handler.html#tymethod.handle'class='fnname'>handle</a>(&mut self, msg: <aclass="struct"href="../../actix_web/client/struct.Pause.html"title="struct actix_web::client::Pause">Pause</a>, _: &mut Self::<aclass="type"href="../../actix_web/actix/actix/trait.Actor.html#associatedtype.Context"title="type actix_web::actix::actix::Actor::Context">Context</a>)</code></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#742-751'title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><divclass='docblock'><p>Method is called for every message received by this Actor</p>
</div><h4id='method.handle-1'class="method"><spanid='handle.v-1'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.Handler.html#tymethod.handle'class='fnname'>handle</a>(&mut self, _: <aclass="struct"href="../../actix_web/client/struct.Resume.html"title="struct actix_web::client::Resume">Resume</a>, _: &mut Self::<aclass="type"href="../../actix_web/actix/actix/trait.Actor.html#associatedtype.Context"title="type actix_web::actix::actix::Actor::Context">Context</a>)</code></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#757-759'title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><divclass='docblock'><p>Method is called for every message received by this Actor</p>
</div><h4id='method.handle-2'class="method"><spanid='handle.v-2'class='invisible'><tableclass='table-display'><tbody><tr><td><code>fn <ahref='../../actix_web/actix/actix/trait.Handler.html#tymethod.handle'class='fnname'>handle</a>(&mut self, msg: <aclass="struct"href="../../actix_web/client/struct.Connect.html"title="struct actix_web::client::Connect">Connect</a>, ctx: &mut Self::<aclass="type"href="../../actix_web/actix/actix/trait.Actor.html#associatedtype.Context"title="type actix_web::actix::actix::Actor::Context">Context</a>) -> Self::<aclass="type"href="../../actix_web/actix/actix/trait.Handler.html#associatedtype.Result"title="type actix_web::actix::actix::Handler::Result">Result</a></code></span></td><td><spanclass='out-of-band'><divclass='ghost'></div><aclass='srclink'href='../../src/actix_web/client/connector.rs.html#765-906'title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><divclass='docblock'><p>Method is called for every message received by this Actor</p>
Auto Trait Implementations<ahref='#synthetic-implementations'class='anchor'></a>
</h2>
<divid='synthetic-implementations-list'>
<h3id='impl-Send'class='impl'><spanclass='in-band'><tableclass='table-display'><tbody><tr><td><code>impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a> for <aclass="struct"href="../../actix_web/client/struct.ClientConnector.html"title="struct actix_web::client::ClientConnector">ClientConnector</a></code><ahref='#impl-Send'class='anchor'></a></span></td><td><spanclass='out-of-band'></span></td></tr></tbody></table></h3><divclass='impl-items'></div><h3id='impl-Sync'class='impl'><spanclass='in-band'><tableclass='table-display'><tbody><tr><td><code>impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html"title="trait core::marker::Sync">Sync</a> for <aclass="struct"href="../../actix_web/client/struct.ClientConnector.html"title="struct actix_web::client::ClientConnector">ClientConnector</a></code><ahref='#impl-Sync'class='anchor'></a></span></td><td><spanclass='out-of-band'></span></td></tr></tbody></table></h3><divclass='impl-items'></div></div></section><sectionid="search"class="content hidden"></section><sectionclass="footer"></section><asideid="help"class="hidden"><div><h1class="hidden">Help</h1><divclass="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd>↑</kbd></dt><dd>Move up in search results</dd><dt><kbd>↓</kbd></dt><dd>Move down in search results</dd><dt><kbd>↹</kbd></dt><dd>Switch tab</dd><dt><kbd>⏎</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><divclass="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g. <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g. <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g. <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath="../../";window.currentCrate="actix_web";</script><scriptsrc="../../aliases.js"></script><scriptsrc="../../main.js"></script><scriptdefersrc="../../search-index.js"></script></body></html>