use std::str::FromStr;
use crate::{Error, Result};
pub fn parse_offer(body: &str) -> Result<str0m::change::SdpOffer> {
str0m::change::SdpOffer::from_sdp_string(body).map_err(|err| Error::InvalidSdp(err.to_string()))
}
pub fn render_answer(answer: &str0m::change::SdpAnswer) -> String {
answer.to_sdp_string()
}
pub fn new_resource_id() -> String {
uuid::Uuid::new_v4().to_string()
}
pub fn parse_resource_id(path: &str) -> Result<uuid::Uuid> {
let last = path
.rsplit('/')
.find(|s| !s.is_empty())
.ok_or_else(|| Error::InvalidSdp("missing resource id".into()))?;
uuid::Uuid::from_str(last).map_err(|err| Error::InvalidSdp(err.to_string()))
}