Fixes: https://tracker.ceph.com/issues/48716
Signed-off-by: Ilsoo Byun <ilsoobyun@linecorp.com>
for (auto src = name.begin(); src != name.end(); ++src, ++dest) {
if (*src == '-') {
*dest = '_';
+ } else if (*src == '_') {
+ *dest = '-';
} else {
*dest = std::toupper(*src);
}
std::transform(std::begin(token), std::end(token),
std::back_inserter(token_env), [](const int c) {
- return c == '-' ? '_' : std::toupper(c);
+ return c == '-' ? '_' : c == '_' ? '-' : std::toupper(c);
});
if (token_env == "HTTP_CONTENT_LENGTH") {
snprintf(name_low, meta_prefixes[0].len - 5 + name_len + 1, "%s%s", meta_prefixes[0].str + 5 /* skip HTTP_ */, name); // normalize meta prefix
int j;
for (j = 0; name_low[j]; j++) {
- if (name_low[j] != '_')
- name_low[j] = tolower(name_low[j]);
- else
+ if (name_low[j] == '_')
name_low[j] = '-';
+ else if (name_low[j] == '-')
+ name_low[j] = '_';
+ else
+ name_low[j] = tolower(name_low[j]);
}
name_low[j] = 0;