diff --git a/src/http/parser.mbt b/src/http/parser.mbt index 47d8c0dbd..17259935a 100644 --- a/src/http/parser.mbt +++ b/src/http/parser.mbt @@ -276,10 +276,9 @@ async fn Reader::read_headers( } _ => () } - match headers.get(key) { - None => headers[key] = value - Some(value0) => headers[key] = "\{value0},\{value}" - } + // Single hashmap probe (was 2: get + set). For repeated header + // names HTTP requires comma-joining; for new keys we just insert. + headers.update_or_default(key, value, value0 => "\{value0},\{value}") } (headers, cookies) }