From 7f6ed9267f5ff146ca2554afdcdebe9395e9e81b Mon Sep 17 00:00:00 2001 From: Michael Behr Date: Thu, 14 Mar 2019 15:27:15 -0400 Subject: [PATCH] Convert metadata flag keys to lowercase. --- test/cpp/interop/client.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/test/cpp/interop/client.cc b/test/cpp/interop/client.cc index ad83a5c4249..ccfd2bb0c45 100644 --- a/test/cpp/interop/client.cc +++ b/test/cpp/interop/client.cc @@ -104,7 +104,8 @@ namespace { // Parse the contents of FLAGS_additional_metadata into a map. Allow // alphanumeric characters and dashes in keys, and any character but semicolons -// in values. On failure, log an error and return false. +// in values. Convert keys to lowercase. On failure, log an error and return +// false. bool ParseAdditionalMetadataFlag( const grpc::string& flag, std::multimap* additional_metadata) { @@ -134,6 +135,13 @@ bool ParseAdditionalMetadataFlag( return false; } + // Convert to lowercase. + for (char& c : key) { + if (c >= 'A' && c <= 'Z') { + c += ('a' - 'A'); + } + } + gpr_log(GPR_INFO, "Adding additional metadata with key %s and value %s", key.c_str(), value.c_str()); additional_metadata->insert({key, value});