virtual void onHttpStreamTrailers(uint64_t stream_id, std::span<const HeaderView> trailers) = 0;
virtual void setMetadata(std::string_view ns, std::string_view key, std::string_view value) = 0;
* Appends a numeric value to the dynamic metadata list stored under the given namespace and key.
* If the key does not exist, a new list is created. Returns false if the key exists but is not a
* If the key does not exist, a new list is created. Returns false if the key exists but is not a
* If the key does not exist, a new list is created. Returns false if the key exists but is not a
* Returns nullopt if the metadata is not accessible, the namespace or key does not exist, or the
virtual std::optional<size_t> getMetadataListSize(std::string_view ns, std::string_view key) = 0;
* namespace and key. Returns nullopt if the metadata is not accessible, the namespace or key does
* not exist, the value is not a list, the index is out of range, or the element is not a number.
* namespace and key. Returns nullopt if the metadata is not accessible, the namespace or key does
* not exist, the value is not a list, the index is out of range, or the element is not a string.
* namespace and key. Returns nullopt if the metadata is not accessible, the namespace or key does
httpCallout(std::string_view cluster, std::span<const HeaderView> headers, std::string_view body,
virtual bool sendHttpStreamTrailers(uint64_t stream_id, std::span<const HeaderView> trailers) = 0;
httpCallout(std::string_view cluster, std::span<const HeaderView> headers, std::string_view body,
virtual bool sendHttpStreamTrailers(uint64_t stream_id, std::span<const HeaderView> trailers) = 0;
* This should only be called after we see the end of the request, which means the end_of_stream
* This should only be called after we see the end of the response, which means the end_of_stream