<!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="Easily manage Actix Web’s settings from a TOML file and environment variables."><metaname="keywords"content="rust, rustlang, rust-lang, actix_settings"><title>actix_settings - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"href="../normalize.css"><linkrel="stylesheet"href="../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"href="../ayu.css"disabled><linkrel="stylesheet"href="../dark.css"disabled><linkrel="stylesheet"href="../light.css"id="themeStyle"><scriptid="default-settings"></script><scriptsrc="../storage.js"></script><scriptdefersrc="../crates.js"></script><scriptdefersrc="../main.js"></script><noscript><linkrel="stylesheet"href="../noscript.css"></noscript><linkrel="icon"href="https://actix.rs/favicon.ico"></head><bodyclass="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../actix_settings/index.html"><divclass="logo-container"><imgsrc="https://actix.rs/img/logo.png"alt="logo"></div></a><h2class="location"></h2></nav><navclass="sidebar"><aclass="sidebar-logo"href="../actix_settings/index.html"><divclass="logo-container">
<imgsrc="https://actix.rs/img/logo.png"alt="logo"></a><navclass="sub"><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><divid="help-button"title="help"tabindex="-1"><buttontype="button">?</button></div><divid="settings-menu"tabindex="-1"><ahref="../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../wheel.svg"></a></div></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading"><h1class="fqn"><spanclass="in-band">Crate <aclass="mod"href="#">actix_settings</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../src/actix_settings/lib.rs.html#1-811">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>Easily manage Actix Web’s settings from a TOML file and environment variables.</p>
<p>To get started add a <ahref="struct.BasicSettings.html#method.parse_toml"><code>Settings::parse_toml("./Server.toml")</code></a> call to the
top of your main function. This will create a template file with descriptions of all the
configurable settings. You can change or remove anything in that file and it will be picked up
the next time you run your application.</p>
<p>Overriding parts of the file can be done from values using <ahref="struct.BasicSettings.html#method.override_field"title="Settings::override_field"><code>Settings::override_field</code></a> or from
the environment using <ahref="struct.BasicSettings.html#method.override_field_with_env_var"title="Settings::override_field_with_env_var"><code>Settings::override_field_with_env_var</code></a>.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.Address.html"title="actix_settings::Address struct">Address</a></div><divclass="item-right docblock-short"><p>A host/port pair for the server to bind to.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.BasicSettings.html"title="actix_settings::BasicSettings struct">BasicSettings</a></div><divclass="item-right docblock-short"><p>Wrapper for server and application-specific settings.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.NoSettings.html"title="actix_settings::NoSettings struct">NoSettings</a></div><divclass="item-right docblock-short"><p>Marker type representing no defined application-specific settings.</p>
</div></div></div><h2id="enums"class="small-section-header"><ahref="#enums">Enums</a></h2><divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="enum"href="enum.Backlog.html"title="actix_settings::Backlog enum">Backlog</a></div><divclass="item-right docblock-short"><p>The maximum number of pending connections.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="enum"href="enum.Error.html"title="actix_settings::Error enum">Error</a></div><divclass="item-right docblock-short"><p>Errors that can be returned from methods in this crate.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="enum"href="enum.KeepAlive.html"title="actix_settings::KeepAlive enum">KeepAlive</a></div><divclass="item-right docblock-short"><p>The server keep-alive preference.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="enum"href="enum.MaxConnectionRate.html"title="actix_settings::MaxConnectionRate enum">MaxConnectionRate</a></div><divclass="item-right docblock-short"><p>The maximum per-worker concurrent TLS connection limit.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="enum"href="enum.MaxConnections.html"title="actix_settings::MaxConnections enum">MaxConnections</a></div><divclass="item-right docblock-short"><p>The maximum per-worker number of concurrent connections.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="enum"href="enum.Mode.html"title="actix_settings::Mode enum">Mode</a></div><divclass="item-right docblock-short"><p>Marker of intended deployment environment.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="enum"href="enum.NumWorkers.html"title="actix_settings::NumWorkers enum">NumWorkers</a></div><divclass="item-right docblock-short"><p>The number of workers that the server should start.</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="enum"href="enum.Timeout.html"title="actix_settings::Timeout enum">Timeout</a></div><divclass="item-right docblock-short"><p>A timeout duration in milliseconds or seconds.</p>
</div></div></div><h2id="traits"class="small-section-header"><ahref="#traits">Traits</a></h2><divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="trait"href="trait.ApplySettings.html"title="actix_settings::ApplySettings trait">ApplySettings</a></div><divclass="item-right docblock-short"><p>Extension trait for applying parsed settings to the server object.</p>
</div></div></div><h2id="types"class="small-section-header"><ahref="#types">Type Definitions</a></h2><divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="type"href="type.Settings.html"title="actix_settings::Settings type">Settings</a></div><divclass="item-right docblock-short"><p>Convenience type alias for <ahref="struct.BasicSettings.html"title="BasicSettings"><code>BasicSettings</code></a> with no defined application-specific settings.</p>