223 lines
No EOL
16 KiB
HTML
223 lines
No EOL
16 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<meta name="generator" content="rustdoc">
|
||
<meta name="description" content="API documentation for the Rust `StatusClass` enum in crate `iron`.">
|
||
<meta name="keywords" content="rust, rustlang, rust-lang, StatusClass">
|
||
|
||
<title>iron::status::StatusClass - Rust</title>
|
||
|
||
<link rel="stylesheet" type="text/css" href="../../rustdoc.css">
|
||
<link rel="stylesheet" type="text/css" href="../../main.css">
|
||
|
||
|
||
<link rel="shortcut icon" href="https://avatars0.githubusercontent.com/u/7853871?s=256">
|
||
|
||
</head>
|
||
<body class="rustdoc">
|
||
<!--[if lte IE 8]>
|
||
<div class="warning">
|
||
This old browser is unsupported and will most likely display funky
|
||
things.
|
||
</div>
|
||
<![endif]-->
|
||
|
||
|
||
|
||
<nav class="sidebar">
|
||
<a href='../../iron/index.html'><img src='https://avatars0.githubusercontent.com/u/7853871?s=128' alt='logo' width='100'></a>
|
||
<p class='location'><a href='../index.html'>iron</a>::<wbr><a href='index.html'>status</a></p><script>window.sidebarCurrent = {name: 'StatusClass', ty: 'enum', relpath: ''};</script><script defer src="sidebar-items.js"></script>
|
||
</nav>
|
||
|
||
<nav class="sub">
|
||
<form class="search-form js-only">
|
||
<div class="search-container">
|
||
<input class="search-input" name="search"
|
||
autocomplete="off"
|
||
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
|
||
type="search">
|
||
</div>
|
||
</form>
|
||
</nav>
|
||
|
||
<section id='main' class="content enum">
|
||
<h1 class='fqn'><span class='in-band'>Enum <a href='../index.html'>iron</a>::<wbr><a href='index.html'>status</a>::<wbr><a class='enum' href=''>StatusClass</a></span><span class='out-of-band'><span id='render-detail'>
|
||
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
|
||
[<span class='inner'>−</span>]
|
||
</a>
|
||
</span><a id='src-7980' class='srclink' href='../../hyper/status/enum.StatusClass.html?gotosrc=7980' title='goto source code'>[src]</a></span></h1>
|
||
<pre class='rust enum'>pub enum StatusClass {
|
||
Informational,
|
||
Success,
|
||
Redirection,
|
||
ClientError,
|
||
ServerError,
|
||
NoClass,
|
||
}</pre><div class='docblock'><p>The class of an HTTP <code>status-code</code>.</p>
|
||
|
||
<p><a href="https://tools.ietf.org/html/rfc7231#section-6">RFC 7231, section 6 (Response Status Codes)</a>:</p>
|
||
|
||
<blockquote>
|
||
<p>The first digit of the status-code defines the class of response.
|
||
The last two digits do not have any categorization role.</p>
|
||
</blockquote>
|
||
|
||
<p>And:</p>
|
||
|
||
<blockquote>
|
||
<p>HTTP status codes are extensible. HTTP clients are not required to
|
||
understand the meaning of all registered status codes, though such
|
||
understanding is obviously desirable. However, a client MUST
|
||
understand the class of any status code, as indicated by the first
|
||
digit, and treat an unrecognized status code as being equivalent to
|
||
the x00 status code of that class, with the exception that a
|
||
recipient MUST NOT cache a response with an unrecognized status code.</p>
|
||
|
||
<p>For example, if an unrecognized status code of 471 is received by a
|
||
client, the client can assume that there was something wrong with its
|
||
request and treat the response as if it had received a 400 (Bad
|
||
Request) status code. The response message will usually contain a
|
||
representation that explains the status.</p>
|
||
</blockquote>
|
||
|
||
<p>This can be used in cases where a status code’s meaning is unknown, also,
|
||
to get the appropriate <em>category</em> of status.</p>
|
||
</div><h2 class='variants'>Variants</h2>
|
||
<span id='variant.Informational' class='variant'><code>Informational</code></span><div class='docblock'><p>1xx (Informational): The request was received, continuing process</p>
|
||
</div><span id='variant.Success' class='variant'><code>Success</code></span><div class='docblock'><p>2xx (Success): The request was successfully received, understood, and accepted</p>
|
||
</div><span id='variant.Redirection' class='variant'><code>Redirection</code></span><div class='docblock'><p>3xx (Redirection): Further action needs to be taken in order to complete the request</p>
|
||
</div><span id='variant.ClientError' class='variant'><code>ClientError</code></span><div class='docblock'><p>4xx (Client Error): The request contains bad syntax or cannot be fulfilled</p>
|
||
</div><span id='variant.ServerError' class='variant'><code>ServerError</code></span><div class='docblock'><p>5xx (Server Error): The server failed to fulfill an apparently valid request</p>
|
||
</div><span id='variant.NoClass' class='variant'><code>NoClass</code></span><div class='docblock'><p>A status code lower than 100 or higher than 599. These codes do no belong to any class.</p>
|
||
</div><h2 id='methods'>Methods</h2><h3 class='impl'><span class='in-band'><code>impl <a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a></code></span><span class='out-of-band'></span></h3>
|
||
<div class='impl-items'><h4 id='method.default_code' class='method'><code>fn <a href='#method.default_code' class='fnname'>default_code</a>(&self) -> <a class='enum' href='../../iron/status/enum.Status.html' title='iron::status::Status'>StatusCode</a></code></h4>
|
||
<div class='docblock'><p>Get the default status code for the class.</p>
|
||
|
||
<p>This produces the x00 status code; thus, for <code>ClientError</code> (4xx), for
|
||
example, this will produce <code>BadRequest</code> (400):</p>
|
||
|
||
<pre class='rust rust-example-rendered'>
|
||
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>ClientError</span>.<span class='ident'>default_code</span>(), <span class='ident'>BadRequest</span>);</pre>
|
||
|
||
<p>The use for this is outlined in <a href="https://tools.ietf.org/html/rfc7231#section-6">RFC 7231, section 6 (Response Status
|
||
Codes)</a>:</p>
|
||
|
||
<blockquote>
|
||
<p>HTTP status codes are extensible. HTTP clients are not required to
|
||
understand the meaning of all registered status codes, though such
|
||
understanding is obviously desirable. However, a client MUST
|
||
understand the class of any status code, as indicated by the first
|
||
digit, and treat an unrecognized status code as being equivalent to
|
||
the x00 status code of that class, with the exception that a
|
||
recipient MUST NOT cache a response with an unrecognized status code.</p>
|
||
|
||
<p>For example, if an unrecognized status code of 471 is received by a
|
||
client, the client can assume that there was something wrong with its
|
||
request and treat the response as if it had received a 400 (Bad
|
||
Request) status code. The response message will usually contain a
|
||
representation that explains the status.</p>
|
||
</blockquote>
|
||
|
||
<p>This is demonstrated thusly:</p>
|
||
|
||
<pre class='rust rust-example-rendered'>
|
||
<span class='comment'>// Suppose we have received this status code.</span>
|
||
<span class='comment'>// You will never directly create an unregistered status code.</span>
|
||
<span class='kw'>let</span> <span class='ident'>status</span> <span class='op'>=</span> <span class='ident'>Unregistered</span>(<span class='number'>471</span>);
|
||
|
||
<span class='comment'>// Uh oh! Don’t know what to do with it.</span>
|
||
<span class='comment'>// Let’s fall back to the default:</span>
|
||
<span class='kw'>let</span> <span class='ident'>status</span> <span class='op'>=</span> <span class='ident'>status</span>.<span class='ident'>class</span>().<span class='ident'>default_code</span>();
|
||
|
||
<span class='comment'>// And look! That is 400 Bad Request.</span>
|
||
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>status</span>, <span class='ident'>BadRequest</span>);
|
||
<span class='comment'>// So now let’s treat it as that.</span></pre>
|
||
|
||
<p>All status codes that do not map to an existing status class are matched
|
||
by a <code>NoClass</code>, variant that resolves to 200 (Ok) as default code.
|
||
This is a common handling for unknown status codes in major browsers.</p>
|
||
</div></div><h2 id='implementations'>Trait Implementations</h2><h3 class='impl'><span class='in-band'><code>impl <a class='trait' href='https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html' title='core::marker::Copy'>Copy</a> for <a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a></code></span><span class='out-of-band'></span></h3>
|
||
<div class='impl-items'></div><h3 class='impl'><span class='in-band'><code>impl <a class='trait' href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html' title='core::cmp::Ord'>Ord</a> for <a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a></code></span><span class='out-of-band'></span></h3>
|
||
<div class='impl-items'><h4 id='method.cmp' class='method'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp' class='fnname'>cmp</a>(&self, __arg_0: &<a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a>) -> <a class='enum' href='https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html' title='core::cmp::Ordering'>Ordering</a></code></h4>
|
||
</div><h3 class='impl'><span class='in-band'><code>impl <a class='trait' href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html' title='core::cmp::PartialOrd'>PartialOrd</a><<a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a>> for <a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a></code></span><span class='out-of-band'></span></h3>
|
||
<div class='impl-items'><h4 id='method.partial_cmp' class='method'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&self, __arg_0: &<a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a>) -> <a class='enum' href='https://doc.rust-lang.org/nightly/core/option/enum.Option.html' title='core::option::Option'>Option</a><<a class='enum' href='https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html' title='core::cmp::Ordering'>Ordering</a>></code></h4>
|
||
</div><h3 class='impl'><span class='in-band'><code>impl <a class='trait' href='https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html' title='core::cmp::Eq'>Eq</a> for <a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a></code></span><span class='out-of-band'></span></h3>
|
||
<div class='impl-items'></div><h3 class='impl'><span class='in-band'><code>impl <a class='trait' href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html' title='core::cmp::PartialEq'>PartialEq</a><<a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a>> for <a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a></code></span><span class='out-of-band'></span></h3>
|
||
<div class='impl-items'><h4 id='method.eq' class='method'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&self, __arg_0: &<a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a>) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a></code></h4>
|
||
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
|
||
</div><h4 id='method.ne' class='method'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&self, other: &Rhs) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a></code><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div></h4>
|
||
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
|
||
</div></div><h3 class='impl'><span class='in-band'><code>impl <a class='trait' href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html' title='core::clone::Clone'>Clone</a> for <a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a></code></span><span class='out-of-band'></span></h3>
|
||
<div class='impl-items'><h4 id='method.clone' class='method'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&self) -> <a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a></code></h4>
|
||
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
|
||
</div><h4 id='method.clone_from' class='method'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&mut self, source: &Self)</code><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div></h4>
|
||
<div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
|
||
</div></div><h3 class='impl'><span class='in-band'><code>impl <a class='trait' href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html' title='core::fmt::Debug'>Debug</a> for <a class='enum' href='../../iron/status/enum.StatusClass.html' title='iron::status::StatusClass'>StatusClass</a></code></span><span class='out-of-band'></span></h3>
|
||
<div class='impl-items'><h4 id='method.fmt' class='method'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&self, __arg_0: &mut <a class='struct' href='https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html' title='core::fmt::Formatter'>Formatter</a>) -> <a class='enum' href='https://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><<a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.tuple.html'>()</a>, <a class='struct' href='https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html' title='core::fmt::Error'>Error</a>></code></h4>
|
||
<div class='docblock'><p>Formats the value using the given formatter.</p>
|
||
</div></div></section>
|
||
<section id='search' class="content hidden"></section>
|
||
|
||
<section class="footer"></section>
|
||
|
||
<aside id="help" class="hidden">
|
||
<div>
|
||
<h1 class="hidden">Help</h1>
|
||
|
||
<div class="shortcuts">
|
||
<h2>Keyboard Shortcuts</h2>
|
||
|
||
<dl>
|
||
<dt>?</dt>
|
||
<dd>Show this help dialog</dd>
|
||
<dt>S</dt>
|
||
<dd>Focus the search field</dd>
|
||
<dt>⇤</dt>
|
||
<dd>Move up in search results</dd>
|
||
<dt>⇥</dt>
|
||
<dd>Move down in search results</dd>
|
||
<dt>⏎</dt>
|
||
<dd>Go to active search result</dd>
|
||
<dt>+</dt>
|
||
<dd>Collapse/expand all sections</dd>
|
||
</dl>
|
||
</div>
|
||
|
||
<div class="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>
|
||
</div>
|
||
</div>
|
||
</aside>
|
||
|
||
|
||
|
||
<script>
|
||
window.rootPath = "../../";
|
||
window.currentCrate = "iron";
|
||
window.playgroundUrl = "";
|
||
</script>
|
||
<script src="../../jquery.js"></script>
|
||
<script src="../../main.js"></script>
|
||
|
||
<script defer src="../../search-index.js"></script>
|
||
</body>
|
||
</html> |