Skip to content
Snippets Groups Projects
Commit 508af8d4 authored by syuilo's avatar syuilo
Browse files

refactor

parent b7bbe090
No related branches found
No related tags found
No related merge requests found
......@@ -11,6 +11,11 @@ import { FILE_TYPE_BROWSERSAFE } from '@/const';
export async function proxyMedia(ctx: Koa.Context) {
const url = 'url' in ctx.query ? ctx.query.url : 'https://' + ctx.params.url;
if (typeof url !== 'string') {
ctx.status = 400;
return;
}
// Create temp file
const [path, cleanup] = await createTemp();
......
......@@ -9,22 +9,34 @@ import { getJson } from '@/misc/fetch';
const logger = new Logger('url-preview');
module.exports = async (ctx: Koa.Context) => {
const url = ctx.query.url;
if (typeof url !== 'string') {
ctx.status = 400;
return;
}
const lang = ctx.query.lang;
if (Array.isArray(lang)) {
ctx.status = 400;
return;
}
const meta = await fetchMeta();
logger.info(meta.summalyProxy
? `(Proxy) Getting preview of ${ctx.query.url}@${ctx.query.lang} ...`
: `Getting preview of ${ctx.query.url}@${ctx.query.lang} ...`);
? `(Proxy) Getting preview of ${url}@${lang} ...`
: `Getting preview of ${url}@${lang} ...`);
try {
const summary = meta.summalyProxy ? await getJson(`${meta.summalyProxy}?${query({
url: ctx.query.url,
lang: ctx.query.lang || 'ja-JP',
})}`) : await summaly(ctx.query.url, {
url: url,
lang: lang ?? 'ja-JP',
})}`) : await summaly(url, {
followRedirects: false,
lang: ctx.query.lang || 'ja-JP',
lang: lang ?? 'ja-JP',
});
logger.succ(`Got preview of ${ctx.query.url}: ${summary.title}`);
logger.succ(`Got preview of ${url}: ${summary.title}`);
summary.icon = wrap(summary.icon);
summary.thumbnail = wrap(summary.thumbnail);
......@@ -33,8 +45,8 @@ module.exports = async (ctx: Koa.Context) => {
ctx.set('Cache-Control', 'max-age=604800, immutable');
ctx.body = summary;
} catch (e) {
logger.warn(`Failed to get preview of ${ctx.query.url}: ${e}`);
} catch (err) {
logger.warn(`Failed to get preview of ${url}: ${err}`);
ctx.status = 200;
ctx.set('Cache-Control', 'max-age=86400, immutable');
ctx.body = '{}';
......
......@@ -160,8 +160,8 @@ export async function generateAlts(path: string, type: string, generateWeb: bool
webpublic: null,
thumbnail,
};
} catch (e) {
logger.warn(`GenerateVideoThumbnail failed: ${e}`);
} catch (err) {
logger.warn(`GenerateVideoThumbnail failed: ${err}`);
return {
webpublic: null,
thumbnail: null,
......@@ -191,8 +191,8 @@ export async function generateAlts(path: string, type: string, generateWeb: bool
thumbnail: null,
};
}
} catch (e) {
logger.warn(`sharp failed: ${e}`);
} catch (err) {
logger.warn(`sharp failed: ${err}`);
return {
webpublic: null,
thumbnail: null,
......@@ -215,8 +215,8 @@ export async function generateAlts(path: string, type: string, generateWeb: bool
} else {
logger.debug(`web image not created (not an required image)`);
}
} catch (e) {
logger.warn(`web image not created (an error occured)`, e);
} catch (err) {
logger.warn(`web image not created (an error occured)`, err as Error);
}
} else {
logger.info(`web image not created (from remote)`);
......@@ -234,8 +234,8 @@ export async function generateAlts(path: string, type: string, generateWeb: bool
} else {
logger.debug(`thumbnail not created (not an required file)`);
}
} catch (e) {
logger.warn(`thumbnail not created (an error occured)`, e);
} catch (err) {
logger.warn(`thumbnail not created (an error occured)`, err as Error);
}
// #endregion thumbnail
......@@ -451,9 +451,9 @@ export async function addFile({
file.storedInternal = false;
file = await DriveFiles.insert(file).then(x => DriveFiles.findOneOrFail(x.identifiers[0]));
} catch (e) {
} catch (err) {
// duplicate key error (when already registered)
if (isDuplicateKeyValueError(e)) {
if (isDuplicateKeyValueError(err)) {
logger.info(`already registered ${file.uri}`);
file = await DriveFiles.findOne({
......@@ -461,8 +461,8 @@ export async function addFile({
userId: user ? user.id : null,
}) as DriveFile;
} else {
logger.error(e);
throw e;
logger.error(err as Error);
throw err;
}
}
} else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment