use lark_websocket_protobuf::pbbp2::Header;
pub(crate) const HDR_TYPE: &str = "type";
pub(crate) const HDR_MESSAGE_ID: &str = "message_id";
pub(crate) const HDR_TRACE_ID: &str = "trace_id";
pub(crate) const HDR_SUM: &str = "sum";
pub(crate) const HDR_SEQ: &str = "seq";
pub(crate) fn header_value<'a>(headers: &'a [Header], key: &str) -> Option<&'a str> {
headers
.iter()
.find(|h| h.key == key)
.map(|h| h.value.as_str())
}
pub(crate) fn header_usize(headers: &[Header], key: &str) -> Option<usize> {
header_value(headers, key).and_then(|v| v.parse().ok())
}