Skip to content

Commit bfccbed

Browse files
authored
Merge pull request #8 from Mikescops/bugfix/prevent-crash-unknown-errors
Prevent crash on unknown errors
2 parents 1aed6ab + 0625843 commit bfccbed

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

src/deviceClient.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,13 @@ export class UpnpDeviceClient extends EventEmitter {
162162
const responseDoc = et.parse(response.body.toString());
163163

164164
if (response.statusCode !== 200) {
165-
const errorCode = parseInt(responseDoc.findtext('.//errorCode').toString());
166-
const errorDescription = responseDoc.findtext('.//errorDescription').toString().trim();
165+
const errorCode = responseDoc.findtext('.//errorCode').toString() ?? '0';
166+
const errorDescription = responseDoc.findtext('.//errorDescription').toString().trim() ?? 'Unknown error';
167167

168-
throw new UpnpError('EUPNP', errorDescription, { errorCode, httpCode: response.statusCode });
168+
throw new UpnpError('EUPNP', errorDescription, {
169+
errorCode: parseInt(errorCode),
170+
httpCode: response.statusCode
171+
});
169172
}
170173

171174
// Extract response outputs
@@ -177,7 +180,7 @@ export class UpnpDeviceClient extends EventEmitter {
177180

178181
const result = {};
179182
outputs.forEach((name) => {
180-
result[name] = responseDoc.findtext('.//' + name).toString();
183+
result[name] = responseDoc.findtext('.//' + name).toString() ?? '';
181184
});
182185

183186
return result;

0 commit comments

Comments
 (0)