async_httplib/
parse.rs

1use std::io::{Error, ErrorKind};
2use std::convert::TryFrom;
3use crate::{Method, Status, Version};
4
5pub fn parse_method(data: Vec<u8>) -> Result<Method, Error> {
6    let data: &[u8] = &data;
7    Method::try_from(data)
8}
9
10pub fn parse_uri(data: Vec<u8>) -> Result<String, Error> {
11    match String::from_utf8(data) {
12        Ok(uri) => Ok(uri),
13        Err(e) => Err(Error::new(ErrorKind::InvalidData, e.to_string()))
14    }
15}
16
17pub fn parse_status(data: Vec<u8>) -> Result<Status, Error> {
18    let data: &[u8] = &data;
19    Status::try_from(data)
20}
21
22pub fn parse_version(data: Vec<u8>) -> Result<Version, Error> {
23    let data: &[u8] = &data;
24    Version::try_from(data)
25}