namespace StellaOps.Microservice;
///
/// Abstraction for HTTP-style header collection.
///
public interface IHeaderCollection : IEnumerable>
{
///
/// Gets a header value by key.
///
/// The header key (case-insensitive).
/// The header value, or null if not found.
string? this[string key] { get; }
///
/// Gets all values for a header key.
///
/// The header key (case-insensitive).
/// All values for the key.
IEnumerable GetValues(string key);
///
/// Tries to get a header value.
///
/// The header key.
/// The header value if found.
/// True if the header was found.
bool TryGetValue(string key, out string? value);
///
/// Checks if a header exists.
///
/// The header key.
/// True if the header exists.
bool ContainsKey(string key);
}