Files
GopherGate/target/doc/hyper/body/index.html
2026-02-26 12:00:21 -05:00

17 lines
5.5 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="Streaming bodies for Requests and Responses"><title>hyper::body - 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="hyper" 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 mod"><!--[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="#">Module body</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../hyper/index.html">hyper</a><span class="version">1.8.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module body</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate hyper</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">hyper</a></div><h1>Module <span>body</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/hyper/body/mod.rs.html#1-50">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Streaming bodies for Requests and Responses</p>
<p>For both <a href="../client/index.html" title="mod hyper::client">Clients</a> and <a href="../server/index.html" title="mod hyper::server">Servers</a>, requests and
responses use streaming bodies, instead of complete buffering. This
allows applications to not use memory they dont need, and allows exerting
back-pressure on connections by only reading when asked.</p>
<p>There are two pieces to this in hyper:</p>
<ul>
<li><strong>The <a href="trait.Body.html" title="trait hyper::body::Body"><code>Body</code></a> trait</strong> describes all possible bodies.
hyper allows any body type that implements <code>Body</code>, allowing
applications to have fine-grained control over their streaming.</li>
<li><strong>The <a href="struct.Incoming.html" title="struct hyper::body::Incoming"><code>Incoming</code></a> concrete type</strong>, which is an implementation
of <code>Body</code>, and returned by hyper as a “receive stream” (so, for server
requests and client responses).</li>
</ul>
<p>There are additional implementations available in <a href="https://docs.rs/http-body-util"><code>http-body-util</code></a>,
such as a <code>Full</code> or <code>Empty</code> body.</p>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Bytes.html" title="struct hyper::body::Bytes">Bytes</a></dt><dd>A cheaply cloneable and sliceable chunk of contiguous memory.</dd><dt><a class="struct" href="struct.Frame.html" title="struct hyper::body::Frame">Frame</a></dt><dd>A frame of any kind related to an HTTP stream (body).</dd><dt><a class="struct" href="struct.Incoming.html" title="struct hyper::body::Incoming">Incoming</a></dt><dd>A stream of <code>Bytes</code>, used when receiving bodies from the network.</dd><dt><a class="struct" href="struct.SizeHint.html" title="struct hyper::body::SizeHint">Size<wbr>Hint</a></dt><dd>A <code>Body</code> size hint</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.Body.html" title="trait hyper::body::Body">Body</a></dt><dd>Trait representing a streaming body of a Request or Response.</dd><dt><a class="trait" href="trait.Buf.html" title="trait hyper::body::Buf">Buf</a></dt><dd>Read bytes from a buffer.</dd></dl></section></div></main></body></html>