(data: Data<'_>, limit: ByteUnit)
| 321 | } |
| 322 | |
| 323 | async fn read_data(data: Data<'_>, limit: ByteUnit) -> Result<Vec<u8>> { |
| 324 | let stream = data.open(limit); |
| 325 | let data = stream.into_bytes().await.context("failed to read data")?; |
| 326 | if !data.is_complete() { |
| 327 | anyhow::bail!("payload too large"); |
| 328 | } |
| 329 | Ok(data.into_inner()) |
| 330 | } |
| 331 | |
| 332 | fn limit_for_method(method: &str, limits: &Limits) -> ByteUnit { |
| 333 | if let Some(v) = limits.get(method) { |