use http::Extensions;
use volo_grpc::metadata::MetadataMap;
use crate::Map;
impl Map for &MetadataMap {
fn get(&self, key: impl AsRef<str>) -> Option<&str> {
if let Some(v) = MetadataMap::get(&self, key.as_ref())
&& let Ok(v) = v.to_str()
{
return Some(v);
}
None
}
}
impl<T> crate::Req for volo_grpc::Request<T> {
fn headers(&self) -> impl Map {
self.metadata()
}
fn extensions(&self) -> &Extensions {
self.extensions()
}
fn extensions_mut(&mut self) -> &mut Extensions {
self.extensions_mut()
}
}