diff --git a/plugins/amcrest/package-lock.json b/plugins/amcrest/package-lock.json index 0afa2f63d..745dd81f9 100644 --- a/plugins/amcrest/package-lock.json +++ b/plugins/amcrest/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/amcrest", - "version": "0.0.143", + "version": "0.0.144", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@scrypted/amcrest", - "version": "0.0.143", + "version": "0.0.144", "license": "Apache", "dependencies": { "@scrypted/common": "file:../../common", diff --git a/plugins/amcrest/package.json b/plugins/amcrest/package.json index 2cf865ae3..866851925 100644 --- a/plugins/amcrest/package.json +++ b/plugins/amcrest/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/amcrest", - "version": "0.0.143", + "version": "0.0.144", "description": "Amcrest Plugin for Scrypted", "author": "Scrypted", "license": "Apache", diff --git a/plugins/hikvision/package-lock.json b/plugins/hikvision/package-lock.json index 59f1e1bea..8a0f71cb5 100644 --- a/plugins/hikvision/package-lock.json +++ b/plugins/hikvision/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/hikvision", - "version": "0.0.145", + "version": "0.0.146", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/hikvision", - "version": "0.0.145", + "version": "0.0.146", "license": "Apache", "dependencies": { "@scrypted/common": "file:../../common", diff --git a/plugins/hikvision/package.json b/plugins/hikvision/package.json index 8bd252dd3..1765e9b31 100644 --- a/plugins/hikvision/package.json +++ b/plugins/hikvision/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/hikvision", - "version": "0.0.145", + "version": "0.0.146", "description": "Hikvision Plugin for Scrypted", "author": "Scrypted", "license": "Apache", diff --git a/plugins/onvif/package-lock.json b/plugins/onvif/package-lock.json index 9267ba227..fb93a83e8 100644 --- a/plugins/onvif/package-lock.json +++ b/plugins/onvif/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/onvif", - "version": "0.1.12", + "version": "0.1.13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@scrypted/onvif", - "version": "0.1.12", + "version": "0.1.13", "license": "Apache", "dependencies": { "@scrypted/common": "file:../../common", diff --git a/plugins/onvif/package.json b/plugins/onvif/package.json index 7a5d51f2b..bb027b2e1 100644 --- a/plugins/onvif/package.json +++ b/plugins/onvif/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/onvif", - "version": "0.1.12", + "version": "0.1.13", "description": "ONVIF Camera Plugin for Scrypted", "author": "Scrypted", "license": "Apache", diff --git a/plugins/reolink/package-lock.json b/plugins/reolink/package-lock.json index 1f60bc4f9..513a5314b 100644 --- a/plugins/reolink/package-lock.json +++ b/plugins/reolink/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/reolink", - "version": "0.0.64", + "version": "0.0.65", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@scrypted/reolink", - "version": "0.0.64", + "version": "0.0.65", "license": "Apache", "dependencies": { "@scrypted/common": "file:../../common", diff --git a/plugins/reolink/package.json b/plugins/reolink/package.json index f1e7f9547..715b67f21 100644 --- a/plugins/reolink/package.json +++ b/plugins/reolink/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/reolink", - "version": "0.0.64", + "version": "0.0.65", "description": "Reolink Plugin for Scrypted", "author": "Scrypted", "license": "Apache", diff --git a/plugins/snapshot/package-lock.json b/plugins/snapshot/package-lock.json index c1c8b5040..41b5cbc7c 100644 --- a/plugins/snapshot/package-lock.json +++ b/plugins/snapshot/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/snapshot", - "version": "0.2.41", + "version": "0.2.42", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/snapshot", - "version": "0.2.41", + "version": "0.2.42", "dependencies": { "@types/node": "^20.10.6", "sharp": "^0.33.1", diff --git a/plugins/snapshot/package.json b/plugins/snapshot/package.json index 0d468b377..4be62fd03 100644 --- a/plugins/snapshot/package.json +++ b/plugins/snapshot/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/snapshot", - "version": "0.2.41", + "version": "0.2.42", "description": "Snapshot Plugin for Scrypted", "scripts": { "scrypted-setup-project": "scrypted-setup-project", diff --git a/server/src/fetch/http-fetch.ts b/server/src/fetch/http-fetch.ts index 71307a301..77716a754 100644 --- a/server/src/fetch/http-fetch.ts +++ b/server/src/fetch/http-fetch.ts @@ -98,6 +98,8 @@ export async function httpFetch>(options: T if (options.timeout) { controller = new AbortController(); timeout = setTimeout(() => controller.abort(), options.timeout); + + options.signal?.addEventListener('abort', () => controller.abort('abort')); } const request = proto.request(url, { @@ -109,11 +111,6 @@ export async function httpFetch>(options: T timeout: options.timeout, }); - if (controller) - options.signal?.addEventListener('abort', () => controller.abort('abort')); - else - options.signal?.addEventListener('abort', () => request.destroy(new Error('abort'))); - if (body) body.pipe(request); else diff --git a/server/src/fetch/index.ts b/server/src/fetch/index.ts index b28fc7d34..26ba9ae79 100644 --- a/server/src/fetch/index.ts +++ b/server/src/fetch/index.ts @@ -129,6 +129,8 @@ export async function domFetch>(options: T) if (options.timeout) { controller = new AbortController(); timeout = setTimeout(() => controller.abort(), options.timeout); + + options.signal?.addEventListener('abort', () => controller.abort('abort')); } try {