* optimized for performance. It supports 2 different types of storage and can switch between them:
explicit UnionStringBase(absl::string_view ref_value) : buffer_(ref_value) { assertValid(); }
UnionStringBase(UnionStringBase&& move_value) noexcept : buffer_(std::move(move_value.buffer_)) {
* Trim trailing whitespaces from the InlinedString. Only supported by the "Inline" InlinedString
* @param ref_value MUST point to data that will live beyond the lifetime of any request/response
ASSERT((buffer_.index() == 0 && absl::holds_alternative<absl::string_view>(buffer_)) ||
ASSERT((buffer_.index() == 1 && absl::holds_alternative<InlinedStringVector>(buffer_)) ||