ubl_runtime/web.rs
1//! HTTP helpers for DIM capsules encoded as octet streams.
2use anyhow::{ensure, Result};
3use ubl_types::Dim;
4/// Extrai DIM do corpo HTTP (octet-stream DIM+payload)
5///
6/// # Errors
7///
8/// - Retorna erro se o corpo for menor que 2 bytes
9pub fn parse_http_octets(body: &[u8]) -> Result<(Dim, &[u8])> {
10 ensure!(body.len() >= 2, "body too small");
11 let dim = (u16::from(body[0]) << 8) | u16::from(body[1]);
12 Ok((Dim(dim), &body[2..]))
13}