У меня есть bytes::Bytes
(в данном случае это тело запроса в actix-web) и другая функция, которая ожидает аргумент среза строки: foo: &str
.Как правильно преобразовать bytes::Bytes
в &str
, чтобы не было сделано никаких копий?Я пробовал &body.into()
, но получаю:
the trait `std::convert::From<bytes::bytes::Bytes>` is not implemented for `str`
Вот основные сигнатуры функций:
pub fn parse_body(data: &str) -> Option<&str> {
// Do stuff
// ....
Ok("xyz")
}
fn consume_data(req: HttpRequest<AppState>, body: bytes::Bytes) -> HttpResponse {
let foo = parse_body(&body);
// Do stuff
HttpResponse::Ok().into()
}