Compare commits
3 Commits
65b4ce5098
...
bab15b0978
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bab15b0978 | ||
|
|
76a49833d4 | ||
|
|
e8b23db276 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
.env
|
.env
|
||||||
data/
|
data/
|
||||||
|
logs/
|
||||||
@@ -424,17 +424,8 @@ export function register(app, basePath = '') {
|
|||||||
return res.status(400).json({ error: 'url is required' });
|
return res.status(400).json({ error: 'url is required' });
|
||||||
}
|
}
|
||||||
|
|
||||||
const abortController = new AbortController();
|
|
||||||
const onClose = () => abortController.abort();
|
|
||||||
req.on('close', onClose);
|
|
||||||
res.on('close', onClose);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const result = await crawlAndProcessImage(rawUrl, {
|
const result = await crawlAndProcessImage(rawUrl);
|
||||||
signal: abortController.signal,
|
|
||||||
});
|
|
||||||
|
|
||||||
if (res.writableEnded || res.destroyed) return;
|
|
||||||
|
|
||||||
res.setHeader('Content-Type', 'image/avif');
|
res.setHeader('Content-Type', 'image/avif');
|
||||||
res.setHeader('Content-Length', String(result.buffer.length));
|
res.setHeader('Content-Length', String(result.buffer.length));
|
||||||
@@ -442,7 +433,6 @@ export function register(app, basePath = '') {
|
|||||||
res.setHeader('X-Image-Height', String(result.height));
|
res.setHeader('X-Image-Height', String(result.height));
|
||||||
return res.status(200).send(result.buffer);
|
return res.status(200).send(result.buffer);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (abortController.signal.aborted || res.writableEnded || res.destroyed) return;
|
|
||||||
const message = err?.message || 'Failed to process image';
|
const message = err?.message || 'Failed to process image';
|
||||||
const isUpstream = message.startsWith('Failed to crawl image:');
|
const isUpstream = message.startsWith('Failed to crawl image:');
|
||||||
const status = isUpstream ? 502 : 400;
|
const status = isUpstream ? 502 : 400;
|
||||||
|
|||||||
Reference in New Issue
Block a user