message: docs(body): add example for to_bytes()
  cc
diff: @@ -13,6 +13,36 @@ use super::HttpBody;
  /// Care needs to be taken if the remote is untrusted. The function doesn't implement any length
  /// checks and an malicious peer might make it consume arbitrary amounts of memory. Checking the
  /// `Content-Length` is a possibility, but it is not strictly mandated to be present.
  +///
  +/// # Example
  +///
  +/// ```
  +/// # async fn doc() -> hyper::Result<()> {
  +/// use hyper::{body::HttpBody};
  +///
  +/// # let request = hyper::Request::builder()
  +/// # .method(hyper::Method::POST)
  +/// # .uri("http://httpbin.org/post")
  +/// # .header("content-type", "application/json")
  +/// # .body(hyper::Body::from(r#"{"library":"hyper"}"#)).unwrap();
  +/// # let client = hyper::Client::new();
  +/// let response = client.request(request).await?;
  +///
  +/// const MAX_ALLOWED_RESPONSE_SIZE: u64 = 1024;
  +///
  +/// let response_content_length = match response.body().size_hint().upper() {
  +/// Some(v) => v,
  +/// None => MAX_ALLOWED_RESPONSE_SIZE + 1 // Just to protect ourselves from a malicious response
  +/// };
  +///
  +/// if response_content_length < MAX_ALLOWED_RESPONSE_SIZE {
  +/// let body_bytes = hyper::body::to_bytes(response.into_body()).await?;
  +/// println!("body: {:?}", body_bytes);
  +/// }
  +///
  +/// # Ok(())
  +/// # }
  +/// ```
  pub async fn to_bytes<T>(body: T) -> Result<Bytes, T::Error>
  where
  T: HttpBody,
  