Corrected 'Content-Length' header by using Buffer.byteLength (#10055)

Closes #10041
1. Why is this change neccesary?
String.prototype.length returns the number of code units in the string (number
of characters) while Buffer.byteLength returns the actual byte length of a
string.

2. How does it address the issue?
Places that use String.prototype.length to calculate Content-Length
were switched to Buffer.byteLength instead.
This commit is contained in:
root@andrea:~# 2018-10-24 21:18:36 -05:00 committed by Fabien O'Carroll
parent 7fafa1e152
commit 3f91a9e8a2
2 changed files with 4 additions and 4 deletions

View File

@ -21,7 +21,7 @@ const disposition = {
return {
'Content-Disposition': options.value,
'Content-Type': 'application/json',
'Content-Length': JSON.stringify(result).length
'Content-Length': Buffer.byteLength(JSON.stringify(result))
};
},
@ -29,7 +29,7 @@ const disposition = {
return {
'Content-Disposition': options.value,
'Content-Type': 'application/yaml',
'Content-Length': JSON.stringify(result).length
'Content-Length': Buffer.byteLength(JSON.stringify(result))
};
}
};

View File

@ -229,7 +229,7 @@ const addHeaders = (apiMethod, req, res, result) => {
res.set({
'Content-Disposition': header,
'Content-Type': 'application/json',
'Content-Length': JSON.stringify(result).length
'Content-Length': Buffer.byteLength(JSON.stringify(result))
});
});
}
@ -241,7 +241,7 @@ const addHeaders = (apiMethod, req, res, result) => {
res.set({
'Content-Disposition': header,
'Content-Type': 'application/yaml',
'Content-Length': JSON.stringify(result).length
'Content-Length': Buffer.byteLength(JSON.stringify(result))
});
});
}