1 //! Contains data structures and utilities for handling gRPC custom metadata. 2 3 mod encoding; 4 mod key; 5 mod map; 6 mod value; 7 8 pub use self::encoding::Ascii; 9 pub use self::encoding::Binary; 10 pub use self::key::AsciiMetadataKey; 11 pub use self::key::BinaryMetadataKey; 12 pub use self::key::MetadataKey; 13 pub use self::map::Entry; 14 pub use self::map::GetAll; 15 pub use self::map::Iter; 16 pub use self::map::IterMut; 17 pub use self::map::KeyAndMutValueRef; 18 pub use self::map::KeyAndValueRef; 19 pub use self::map::KeyRef; 20 pub use self::map::Keys; 21 pub use self::map::MetadataMap; 22 pub use self::map::OccupiedEntry; 23 pub use self::map::VacantEntry; 24 pub use self::map::ValueDrain; 25 pub use self::map::ValueIter; 26 pub use self::map::ValueRef; 27 pub use self::map::ValueRefMut; 28 pub use self::map::Values; 29 pub use self::map::ValuesMut; 30 pub use self::value::AsciiMetadataValue; 31 pub use self::value::BinaryMetadataValue; 32 pub use self::value::MetadataValue; 33 use http::HeaderValue; 34 35 pub(crate) use self::map::GRPC_TIMEOUT_HEADER; 36 37 /// HTTP Header `content-type` value for gRPC calls. 38 pub const GRPC_CONTENT_TYPE: HeaderValue = HeaderValue::from_static("application/grpc"); 39 40 /// The metadata::errors module contains types for errors that can occur 41 /// while handling gRPC custom metadata. 42 pub mod errors { 43 pub use super::encoding::InvalidMetadataValue; 44 pub use super::encoding::InvalidMetadataValueBytes; 45 pub use super::key::InvalidMetadataKey; 46 pub use super::value::ToStrError; 47 } 48