in src/main/java/com/twitter/http2/HttpHeaderBlockDecoder.java [106:131]
public void addHeader(byte[] name, byte[] value, boolean sensitive) {
String nameStr = new String(name, StandardCharsets.UTF_8);
// check for empty value
if (value.length == 0) {
addHeader(nameStr, "");
return;
}
// Sec. 8.1.3.3. Header Field Ordering
int index = 0;
int offset = 0;
while (index < value.length) {
while (index < value.length && value[index] != (byte) 0) {
index++;
}
if (index - offset == 0) {
addHeader(nameStr, "");
} else {
String valueStr = new String(value, offset, index - offset, StandardCharsets.UTF_8);
addHeader(nameStr, valueStr);
}
index++;
offset = index;
}
}