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