#[inline] pub(crate) fn strip_sse_field<'a>(line: &'a str, field: &str) -> Option<&'a str> { line.strip_prefix(&format!("{field}: ")) .or_else(|| line.strip_prefix(&format!("{field}:"))) } #[cfg(test)] mod tests { use super::strip_sse_field; #[test] fn strip_sse_field_accepts_optional_space() { assert_eq!( strip_sse_field("data: {\"ok\":true}", "data"), Some("{\"ok\":true}") ); assert_eq!( strip_sse_field("data:{\"ok\":true}", "data"), Some("{\"ok\":true}") ); assert_eq!( strip_sse_field("event: message_start", "event"), Some("message_start") ); assert_eq!( strip_sse_field("event:message_start", "event"), Some("message_start") ); assert_eq!(strip_sse_field("id:1", "data"), None); } }