Files
GopherGate/target/doc/http_body_util/trait.BodyExt.html
2026-02-26 12:00:21 -05:00

72 lines
25 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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="An extension trait for `http_body::Body` adding various combinators and adapters"><title>BodyExt in http_body_util - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="http_body_util" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">BodyExt</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../http_body_util/index.html">http_<wbr>body_<wbr>util</a><span class="version">0.1.3</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">BodyExt</a></h2><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.boxed" title="boxed">boxed</a></li><li><a href="#method.boxed_unsync" title="boxed_unsync">boxed_unsync</a></li><li><a href="#method.collect" title="collect">collect</a></li><li><a href="#method.frame" title="frame">frame</a></li><li><a href="#method.into_data_stream" title="into_data_stream">into_data_stream</a></li><li><a href="#method.map_err" title="map_err">map_err</a></li><li><a href="#method.map_frame" title="map_frame">map_frame</a></li><li><a href="#method.with_trailers" title="with_trailers">with_trailers</a></li></ul><h3><a href="#dyn-compatibility">Dyn Compatibility</a></h3><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate http_<wbr>body_<wbr>util</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">http_body_util</a></div><h1>Trait <span class="trait">BodyExt</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/http_body_util/lib.rs.html#36-145">Source</a> </span></div><pre class="rust item-decl"><code>pub trait BodyExt: <a class="trait" href="../http_body/trait.Body.html" title="trait http_body::Body">Body</a> {
// Provided methods
fn <a href="#method.frame" class="fn">frame</a>(&amp;mut self) -&gt; <a class="struct" href="combinators/struct.Frame.html" title="struct http_body_util::combinators::Frame">Frame</a>&lt;'_, Self&gt; <a href="#" class="tooltip" data-notable-ty="Frame&lt;&#39;_, Self&gt;"></a>
<span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.map_frame" class="fn">map_frame</a>&lt;F, B&gt;(self, f: F) -&gt; <a class="struct" href="combinators/struct.MapFrame.html" title="struct http_body_util::combinators::MapFrame">MapFrame</a>&lt;Self, F&gt;
<span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="struct" href="../http_body/frame/struct.Frame.html" title="struct http_body::frame::Frame">Frame</a>&lt;Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Data" title="type http_body::Body::Data">Data</a>&gt;) -&gt; <a class="struct" href="../http_body/frame/struct.Frame.html" title="struct http_body::frame::Frame">Frame</a>&lt;B&gt;,
B: <a class="trait" href="../bytes/buf/buf_impl/trait.Buf.html" title="trait bytes::buf::buf_impl::Buf">Buf</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.map_err" class="fn">map_err</a>&lt;F, E&gt;(self, f: F) -&gt; <a class="struct" href="combinators/struct.MapErr.html" title="struct http_body_util::combinators::MapErr">MapErr</a>&lt;Self, F&gt;
<span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Error" title="type http_body::Body::Error">Error</a>) -&gt; E</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.boxed" class="fn">boxed</a>(self) -&gt; <a class="struct" href="combinators/struct.BoxBody.html" title="struct http_body_util::combinators::BoxBody">BoxBody</a>&lt;Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Data" title="type http_body::Body::Data">Data</a>, Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Error" title="type http_body::Body::Error">Error</a>&gt;
<span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.boxed_unsync" class="fn">boxed_unsync</a>(self) -&gt; <a class="struct" href="combinators/struct.UnsyncBoxBody.html" title="struct http_body_util::combinators::UnsyncBoxBody">UnsyncBoxBody</a>&lt;Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Data" title="type http_body::Body::Data">Data</a>, Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Error" title="type http_body::Body::Error">Error</a>&gt;
<span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.collect" class="fn">collect</a>(self) -&gt; <a class="struct" href="combinators/struct.Collect.html" title="struct http_body_util::combinators::Collect">Collect</a>&lt;Self&gt; <a href="#" class="tooltip" data-notable-ty="Collect&lt;Self&gt;"></a>
<span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span> { ... }
<span class="item-spacer"></span> fn <a href="#method.with_trailers" class="fn">with_trailers</a>&lt;F&gt;(self, trailers: F) -&gt; <a class="struct" href="combinators/struct.WithTrailers.html" title="struct http_body_util::combinators::WithTrailers">WithTrailers</a>&lt;Self, F&gt;
<span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../http/header/map/struct.HeaderMap.html" title="struct http::header::map::HeaderMap">HeaderMap</a>, Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Error" title="type http_body::Body::Error">Error</a>&gt;&gt;&gt;</span> { ... }
<span class="item-spacer"></span> fn <a href="#method.into_data_stream" class="fn">into_data_stream</a>(self) -&gt; <a class="struct" href="struct.BodyDataStream.html" title="struct http_body_util::BodyDataStream">BodyDataStream</a>&lt;Self&gt;
<span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span> { ... }
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An extension trait for <a href="../http_body/trait.Body.html" title="trait http_body::Body"><code>http_body::Body</code></a> adding various combinators and adapters</p>
</div></details><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.frame" class="method"><a class="src rightside" href="../src/http_body_util/lib.rs.html#40-45">Source</a><h4 class="code-header">fn <a href="#method.frame" class="fn">frame</a>(&amp;mut self) -&gt; <a class="struct" href="combinators/struct.Frame.html" title="struct http_body_util::combinators::Frame">Frame</a>&lt;'_, Self&gt; <a href="#" class="tooltip" data-notable-ty="Frame&lt;&#39;_, Self&gt;"></a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h4></section></summary><div class="docblock"><p>Returns a future that resolves to the next <a href="combinators/struct.Frame.html" title="struct http_body_util::combinators::Frame"><code>Frame</code></a>, if any.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.map_frame" class="method"><a class="src rightside" href="../src/http_body_util/lib.rs.html#48-55">Source</a><h4 class="code-header">fn <a href="#method.map_frame" class="fn">map_frame</a>&lt;F, B&gt;(self, f: F) -&gt; <a class="struct" href="combinators/struct.MapFrame.html" title="struct http_body_util::combinators::MapFrame">MapFrame</a>&lt;Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="struct" href="../http_body/frame/struct.Frame.html" title="struct http_body::frame::Frame">Frame</a>&lt;Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Data" title="type http_body::Body::Data">Data</a>&gt;) -&gt; <a class="struct" href="../http_body/frame/struct.Frame.html" title="struct http_body::frame::Frame">Frame</a>&lt;B&gt;,
B: <a class="trait" href="../bytes/buf/buf_impl/trait.Buf.html" title="trait bytes::buf::buf_impl::Buf">Buf</a>,</div></h4></section></summary><div class="docblock"><p>Maps this bodys frame to a different kind.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.map_err" class="method"><a class="src rightside" href="../src/http_body_util/lib.rs.html#58-64">Source</a><h4 class="code-header">fn <a href="#method.map_err" class="fn">map_err</a>&lt;F, E&gt;(self, f: F) -&gt; <a class="struct" href="combinators/struct.MapErr.html" title="struct http_body_util::combinators::MapErr">MapErr</a>&lt;Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Error" title="type http_body::Body::Error">Error</a>) -&gt; E,</div></h4></section></summary><div class="docblock"><p>Maps this bodys error value to a different value.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.boxed" class="method"><a class="src rightside" href="../src/http_body_util/lib.rs.html#67-72">Source</a><h4 class="code-header">fn <a href="#method.boxed" class="fn">boxed</a>(self) -&gt; <a class="struct" href="combinators/struct.BoxBody.html" title="struct http_body_util::combinators::BoxBody">BoxBody</a>&lt;Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Data" title="type http_body::Body::Data">Data</a>, Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Error" title="type http_body::Body::Error">Error</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,</div></h4></section></summary><div class="docblock"><p>Turn this body into a boxed trait object.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.boxed_unsync" class="method"><a class="src rightside" href="../src/http_body_util/lib.rs.html#75-80">Source</a><h4 class="code-header">fn <a href="#method.boxed_unsync" class="fn">boxed_unsync</a>(self) -&gt; <a class="struct" href="combinators/struct.UnsyncBoxBody.html" title="struct http_body_util::combinators::UnsyncBoxBody">UnsyncBoxBody</a>&lt;Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Data" title="type http_body::Body::Data">Data</a>, Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Error" title="type http_body::Body::Error">Error</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,</div></h4></section></summary><div class="docblock"><p>Turn this body into a boxed trait object that is !Sync.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.collect" class="method"><a class="src rightside" href="../src/http_body_util/lib.rs.html#84-92">Source</a><h4 class="code-header">fn <a href="#method.collect" class="fn">collect</a>(self) -&gt; <a class="struct" href="combinators/struct.Collect.html" title="struct http_body_util::combinators::Collect">Collect</a>&lt;Self&gt; <a href="#" class="tooltip" data-notable-ty="Collect&lt;Self&gt;"></a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Turn this body into <a href="struct.Collected.html" title="struct http_body_util::Collected"><code>Collected</code></a> body which will collect all the DATA frames
and trailers.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_trailers" class="method"><a class="src rightside" href="../src/http_body_util/lib.rs.html#130-136">Source</a><h4 class="code-header">fn <a href="#method.with_trailers" class="fn">with_trailers</a>&lt;F&gt;(self, trailers: F) -&gt; <a class="struct" href="combinators/struct.WithTrailers.html" title="struct http_body_util::combinators::WithTrailers">WithTrailers</a>&lt;Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../http/header/map/struct.HeaderMap.html" title="struct http::header::map::HeaderMap">HeaderMap</a>, Self::<a class="associatedtype" href="../http_body/trait.Body.html#associatedtype.Error" title="type http_body::Body::Error">Error</a>&gt;&gt;&gt;,</div></h4></section></summary><div class="docblock"><p>Add trailers to the body.</p>
<p>The trailers will be sent when all previous frames have been sent and the <code>trailers</code> future
resolves.</p>
<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>http::HeaderMap;
<span class="kw">use </span>http_body_util::{Full, BodyExt};
<span class="kw">use </span>bytes::Bytes;
<span class="kw">async fn </span>main() {
<span class="kw">let </span>(tx, rx) = tokio::sync::oneshot::channel::&lt;HeaderMap&gt;();
<span class="kw">let </span>body = Full::&lt;Bytes&gt;::from(<span class="string">"Hello, World!"</span>)
<span class="comment">// add trailers via a future
</span>.with_trailers(<span class="kw">async move </span>{
<span class="kw">match </span>rx.<span class="kw">await </span>{
<span class="prelude-val">Ok</span>(trailers) =&gt; <span class="prelude-val">Some</span>(<span class="prelude-val">Ok</span>(trailers)),
<span class="prelude-val">Err</span>(_err) =&gt; <span class="prelude-val">None</span>,
}
});
<span class="comment">// compute the trailers in the background
</span>tokio::spawn(<span class="kw">async move </span>{
<span class="kw">let _ </span>= tx.send(compute_trailers().<span class="kw">await</span>);
});
<span class="kw">async fn </span>compute_trailers() -&gt; HeaderMap {
<span class="comment">// ...
</span>}</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.into_data_stream" class="method"><a class="src rightside" href="../src/http_body_util/lib.rs.html#139-144">Source</a><h4 class="code-header">fn <a href="#method.into_data_stream" class="fn">into_data_stream</a>(self) -&gt; <a class="struct" href="struct.BodyDataStream.html" title="struct http_body_util::BodyDataStream">BodyDataStream</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Turn this body into <a href="struct.BodyDataStream.html" title="struct http_body_util::BodyDataStream"><code>BodyDataStream</code></a>.</p>
</div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/1.93.1/reference/items/traits.html#dyn-compatibility">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-BodyExt-for-T" class="impl"><a class="src rightside" href="../src/http_body_util/lib.rs.html#147">Source</a><a href="#impl-BodyExt-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.BodyExt.html" title="trait http_body_util::BodyExt">BodyExt</a> for T<div class="where">where
T: <a class="trait" href="../http_body/trait.Body.html" title="trait http_body::Body">Body</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></div><script src="../trait.impl/http_body_util/trait.BodyExt.js" async></script><script type="text/json" id="notable-traits-data">{"Collect<Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"combinators/struct.Collect.html\" title=\"struct http_body_util::combinators::Collect\">Collect</a>&lt;T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T: <a class=\"trait\" href=\"../http_body/trait.Body.html\" title=\"trait http_body::Body\">Body</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"combinators/struct.Collect.html\" title=\"struct http_body_util::combinators::Collect\">Collect</a>&lt;T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <a class=\"enum\" href=\"https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a>&lt;<a class=\"struct\" href=\"struct.Collected.html\" title=\"struct http_body_util::Collected\">Collected</a>&lt;T::<a class=\"associatedtype\" href=\"../http_body/trait.Body.html#associatedtype.Data\" title=\"type http_body::Body::Data\">Data</a>&gt;, T::<a class=\"associatedtype\" href=\"../http_body/trait.Body.html#associatedtype.Error\" title=\"type http_body::Body::Error\">Error</a>&gt;;</div>","Frame<'_, Self>":"<h3>Notable traits for <code><a class=\"struct\" href=\"combinators/struct.Frame.html\" title=\"struct http_body_util::combinators::Frame\">Frame</a>&lt;'_, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T: <a class=\"trait\" href=\"../http_body/trait.Body.html\" title=\"trait http_body::Body\">Body</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"combinators/struct.Frame.html\" title=\"struct http_body_util::combinators::Frame\">Frame</a>&lt;'_, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = <a class=\"enum\" href=\"https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html\" title=\"enum core::option::Option\">Option</a>&lt;<a class=\"enum\" href=\"https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html\" title=\"enum core::result::Result\">Result</a>&lt;<a class=\"struct\" href=\"../http_body/frame/struct.Frame.html\" title=\"struct http_body::frame::Frame\">Frame</a>&lt;T::<a class=\"associatedtype\" href=\"../http_body/trait.Body.html#associatedtype.Data\" title=\"type http_body::Body::Data\">Data</a>&gt;, T::<a class=\"associatedtype\" href=\"../http_body/trait.Body.html#associatedtype.Error\" title=\"type http_body::Body::Error\">Error</a>&gt;&gt;;</div>"}</script></section></div></main></body></html>