#pragma once #include #include #include "absl/container/flat_hash_map.h" namespace Envoy { namespace Platform { using RawHeaderMap = absl::flat_hash_map>; class Headers { public: virtual ~Headers() {} const std::vector& operator[](const std::string& key) const; const RawHeaderMap& all_headers() const; bool contains(const std::string& key) const; protected: Headers(const RawHeaderMap& headers); private: RawHeaderMap headers_; }; } // namespace Platform } // namespace Envoy