Compatibility with older JS engines

- Fixed typo with Buffer.readUint8 vs readUInt8 that is incompatible with older js
- Removed usage of Object.entries and replaced with for (key in obj)
This commit is contained in:
Justin Fisher 2025-07-28 17:55:57 -04:00 committed by LittleChest
parent ee83912dcd
commit a260a8386b

View File

@ -1685,7 +1685,7 @@ svcparam.decode = function (buf, offset) {
let nameoff = offset let nameoff = offset
let rem = len let rem = len
while (rem >= 2) { while (rem >= 2) {
const namelen = buf.readUint8(nameoff) const namelen = buf.readUInt8(nameoff)
nameoff++ nameoff++
rem-- rem--
if (namelen > rem) { if (namelen > rem) {
@ -1801,8 +1801,10 @@ rhttpssvc.encode = function (data, buf, offset) {
rhttpssvc.encode.bytes += name.encode.bytes rhttpssvc.encode.bytes += name.encode.bytes
offset += name.encode.bytes offset += name.encode.bytes
for (const [key, value] of Object.entries(data.values || {})) { if (!data.values) data.values = {}
let val = { key, value } for (const key in data.values) {
let val = { key, value: data.values[key] }
console.log(`val: ${val}`)
svcparam.encode(val, buf, offset) svcparam.encode(val, buf, offset)
offset += svcparam.encode.bytes offset += svcparam.encode.bytes
rhttpssvc.encode.bytes += svcparam.encode.bytes rhttpssvc.encode.bytes += svcparam.encode.bytes
@ -1845,8 +1847,9 @@ rhttpssvc.encodingLength = function (data) {
2 + // rdlen 2 + // rdlen
2 + // priority 2 + // priority
name.encodingLength(data.name) name.encodingLength(data.name)
for (const [key, value] of Object.entries(data.values || {})) { if (!data.values) data.values = {}
len += svcparam.encodingLength({ key, value }) for (const key in data.values) {
len += svcparam.encodingLength({ key, value: data.values[key] })
} }
return len return len
} }