mirror of
https://github.com/movie-web/providers-api.git
synced 2025-09-13 08:03:28 +00:00
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "providers-api",
|
"name": "providers-api",
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
"preinstall": "npx only-allow pnpm"
|
"preinstall": "npx only-allow pnpm"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@movie-web/providers": "^1.1.5",
|
"@movie-web/providers": "^2.0.1",
|
||||||
"@tsndr/cloudflare-worker-jwt": "^2.3.2",
|
"@tsndr/cloudflare-worker-jwt": "^2.3.2",
|
||||||
"@types/jsonwebtoken": "^9.0.5",
|
"@types/jsonwebtoken": "^9.0.5",
|
||||||
"esbuild": "^0.19.10",
|
"esbuild": "^0.19.10",
|
||||||
|
8
pnpm-lock.yaml
generated
8
pnpm-lock.yaml
generated
@@ -6,8 +6,8 @@ settings:
|
|||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
'@movie-web/providers':
|
'@movie-web/providers':
|
||||||
specifier: ^1.1.5
|
specifier: ^2.0.1
|
||||||
version: 1.1.5
|
version: 2.0.1
|
||||||
'@tsndr/cloudflare-worker-jwt':
|
'@tsndr/cloudflare-worker-jwt':
|
||||||
specifier: ^2.3.2
|
specifier: ^2.3.2
|
||||||
version: 2.3.2
|
version: 2.3.2
|
||||||
@@ -623,8 +623,8 @@ packages:
|
|||||||
'@jridgewell/sourcemap-codec': 1.4.15
|
'@jridgewell/sourcemap-codec': 1.4.15
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@movie-web/providers@1.1.5:
|
/@movie-web/providers@2.0.1:
|
||||||
resolution: {integrity: sha512-JnqU6nVsEZ83UVcsizqzcr/vtwvHHlZt9vYwGiJEAyaUgaXJPZz3C90qzaRZ8CVWydUTRAmjRP3daRFtC1nKHw==}
|
resolution: {integrity: sha512-PB1OxSsm4zwD6fuWBCmuqwMpt1UnlKssVZ8jGl6gHioS9/qFXR9Rsd8SnWISQWxF6lVRUp0DBXHfCrXGY/jwhA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
cheerio: 1.0.0-rc.12
|
cheerio: 1.0.0-rc.12
|
||||||
crypto-js: 4.2.0
|
crypto-js: 4.2.0
|
||||||
|
38
src/index.ts
38
src/index.ts
@@ -61,6 +61,10 @@ async function writeSSEEvent(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function makeErrorDto(err: any): any {
|
||||||
|
return err ? { name: err.name, message: err.message, stack: err.stack } : undefined;
|
||||||
|
}
|
||||||
|
|
||||||
app.get('/scrape', async (context) => {
|
app.get('/scrape', async (context) => {
|
||||||
const queryParams = context.req.query();
|
const queryParams = context.req.query();
|
||||||
|
|
||||||
@@ -112,7 +116,11 @@ app.get('/scrape', async (context) => {
|
|||||||
writeSSEEvent(stream, 'start', evt);
|
writeSSEEvent(stream, 'start', evt);
|
||||||
},
|
},
|
||||||
update(evt) {
|
update(evt) {
|
||||||
writeSSEEvent(stream, 'update', evt);
|
const err = evt.error as any;
|
||||||
|
writeSSEEvent(stream, 'update', {
|
||||||
|
...evt,
|
||||||
|
error: makeErrorDto(evt.error),
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -125,11 +133,7 @@ app.get('/scrape', async (context) => {
|
|||||||
await writeSSEEvent(stream, 'noOutput', '');
|
await writeSSEEvent(stream, 'noOutput', '');
|
||||||
return await stream.close();
|
return await stream.close();
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
await writeSSEEvent(stream, 'error', {
|
await writeSSEEvent(stream, 'error', makeErrorDto(e) ?? {});
|
||||||
name: e.name,
|
|
||||||
message: e.message,
|
|
||||||
stack: e.stack,
|
|
||||||
});
|
|
||||||
return await stream.close();
|
return await stream.close();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -177,7 +181,10 @@ app.get('/scrape/embed', async (context) => {
|
|||||||
url: embedInput.url,
|
url: embedInput.url,
|
||||||
events: {
|
events: {
|
||||||
update(evt) {
|
update(evt) {
|
||||||
writeSSEEvent(stream, 'update', evt);
|
writeSSEEvent(stream, 'update', {
|
||||||
|
...evt,
|
||||||
|
error: makeErrorDto(evt.error),
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -190,11 +197,7 @@ app.get('/scrape/embed', async (context) => {
|
|||||||
await writeSSEEvent(stream, 'noOutput', '');
|
await writeSSEEvent(stream, 'noOutput', '');
|
||||||
return await stream.close();
|
return await stream.close();
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
await writeSSEEvent(stream, 'error', {
|
await writeSSEEvent(stream, 'error', makeErrorDto(e) ?? {});
|
||||||
name: e.name,
|
|
||||||
message: e.message,
|
|
||||||
stack: e.stack,
|
|
||||||
});
|
|
||||||
return await stream.close();
|
return await stream.close();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -242,7 +245,10 @@ app.get('/scrape/source', async (context) => {
|
|||||||
media: sourceInput,
|
media: sourceInput,
|
||||||
events: {
|
events: {
|
||||||
update(evt) {
|
update(evt) {
|
||||||
writeSSEEvent(stream, 'update', evt);
|
writeSSEEvent(stream, 'update', {
|
||||||
|
...evt,
|
||||||
|
error: makeErrorDto(evt.error),
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -255,11 +261,7 @@ app.get('/scrape/source', async (context) => {
|
|||||||
await writeSSEEvent(stream, 'noOutput', '');
|
await writeSSEEvent(stream, 'noOutput', '');
|
||||||
return await stream.close();
|
return await stream.close();
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
await writeSSEEvent(stream, 'error', {
|
await writeSSEEvent(stream, 'error', makeErrorDto(e) ?? {});
|
||||||
name: e.name,
|
|
||||||
message: e.message,
|
|
||||||
stack: e.stack,
|
|
||||||
});
|
|
||||||
return await stream.close();
|
return await stream.close();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user