This commit is contained in:
syuilo 2018-05-04 17:59:51 +09:00
parent 8fe6da0cad
commit ed9e7520f1
2 changed files with 14 additions and 8 deletions

View file

@ -6,6 +6,8 @@ import * as mongodb from 'mongodb';
import DriveFile, { getDriveFileBucket } from '../../models/drive-file';
import DriveFileThumbnail, { getDriveFileThumbnailBucket } from '../../models/drive-file-thumbnail';
const assets = `${__dirname}/../../server/file/assets/`;
const commonReadableHandlerGenerator = (ctx: Koa.Context) => (e: Error): void => {
console.error(e);
ctx.status = 500;
@ -25,16 +27,16 @@ export default async function(ctx: Koa.Context) {
if (file == null) {
ctx.status = 404;
await send(ctx, `${__dirname}/assets/dummy.png`);
await send(ctx, `${__dirname}/assets/dummy.png`, { root: assets });
return;
}
if (file.metadata.deletedAt) {
ctx.status = 410;
if (file.metadata.isExpired) {
await send(ctx, `${__dirname}/assets/cache-expired.png`);
await send(ctx, `${__dirname}/assets/cache-expired.png`, { root: assets });
} else {
await send(ctx, `${__dirname}/assets/tombstone.png`);
await send(ctx, `${__dirname}/assets/tombstone.png`, { root: assets });
}
return;
}

View file

@ -42,17 +42,21 @@ router.get('/assets/*', async ctx => {
// Apple touch icon
router.get('/apple-touch-icon.png', async ctx => {
await send(ctx, `${client}/assets/apple-touch-icon.png`);
await send(ctx, '/assets/apple-touch-icon.png', {
root: client
});
});
// ServiceWroker
router.get(/^\/sw\.(.+?)\.js$/, async ctx => {
await send(ctx, `${client}/assets/sw.${ctx.params[0]}.js`);
});
//router.get(/^\/sw\.(.+?)\.js$/, async ctx => {
// await send(ctx, `${client}/assets/sw.${ctx.params[0]}.js`);
//});
// Manifest
router.get('/manifest.json', async ctx => {
await send(ctx, `${client}/assets/manifest.json`);
await send(ctx, '/assets/manifest.json', {
root: client
});
});
//#endregion