本文整理汇总了TypeScript中koa-send.default方法的典型用法代码示例。如果您正苦于以下问题:TypeScript koa-send.default方法的具体用法?TypeScript koa-send.default怎么用?TypeScript koa-send.default使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类koa-send
的用法示例。
在下文中一共展示了koa-send.default方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: function
export default async function(ctx: Koa.Context) {
// Validate id
if (!mongodb.ObjectID.isValid(ctx.params.id)) {
ctx.throw(400, 'incorrect id');
return;
}
const fileId = new mongodb.ObjectID(ctx.params.id);
// Fetch drive file
const file = await DriveFile.findOne({ _id: fileId });
if (file == null) {
ctx.status = 404;
await send(ctx, '/dummy.png', { root: assets });
return;
}
if (file.metadata.deletedAt) {
ctx.status = 410;
await send(ctx, '/tombstone.png', { root: assets });
return;
}
if (file.metadata.withoutChunks) {
ctx.status = 204;
return;
}
const sendRaw = async () => {
const bucket = await getDriveFileBucket();
const readable = bucket.openDownloadStream(fileId);
readable.on('error', commonReadableHandlerGenerator(ctx));
ctx.set('Content-Type', file.contentType);
ctx.body = readable;
};
if ('thumbnail' in ctx.query) {
const thumb = await DriveFileThumbnail.findOne({
'metadata.originalId': fileId
});
if (thumb != null) {
ctx.set('Content-Type', 'image/jpeg');
const bucket = await getDriveFileThumbnailBucket();
ctx.body = bucket.openDownloadStream(thumb._id);
} else {
await sendRaw();
}
} else {
if ('download' in ctx.query) {
ctx.set('Content-Disposition', 'attachment');
}
await sendRaw();
}
}
示例2: send
router.get('/assets/*', async ctx => {
await send(ctx, ctx.path, {
root: client,
maxage: ms('7 days'),
immutable: true
});
});
示例3: send
router.get('/assets/*', async ctx => {
await send(ctx, ctx.params[0], {
root: `${__dirname}/../../docs/assets/`,
maxage: ms('7 days'),
immutable: true
});
});
示例4: sendIndex
static sendIndex() {
const _root = process.cwd();
const _env = process.env.NODE_ENV;
const _folder = _env === "production" ? "dist" : "dev";
send(this, `${_root}/client/${_folder}/index.html`);
}
示例5: send
app.use(async (ctx: Koa.Context) => {
await send(ctx, 'stimpy.html', {
root: '../static-files',
index: 'index.html',
maxAge: 10,
hidden: true,
format: true,
gzip: true,
setHeaders: () => {},
});
});
示例6: async
return async (ctx, next) => {
try {
if (ctx.path !== "/") {
// If we're in production, try <dist>/public first
return await koaSend(ctx, ctx.path, {
immutable,
root
});
}
} catch (e) {
/* Error? Go to next middleware... */
}
return next();
};
示例7: async
return async (context: koa.Context, next: () => void) => {
if (context.path.startsWith(pathRoot)) {
const skipPath: boolean = skipPaths.some((current) => context.path.startsWith(current));
if (context.path === pathRoot && context.method === 'GET') {
context.type = 'text/html; charset=utf-8';
context.body = uiHtml;
context.status = 200;
return;
} else if (context.path === (pathPrefix + 'api-docs') && context.method === 'GET') {
context.type = 'application/json; charset=utf-8';
context.body = document;
context.status = 200;
return;
} else if (!skipPath && context.method === 'GET') {
const filePath = context.path.substring(pathRoot.length);
await send(context, filePath, { root: SWAGGER_UI_PATH });
return;
}
}
return next();
};
示例8: send
app.use(async (ctx: Koa.Context) => {
const path: string = await send(ctx, 'stimpy.html');
});
示例9: send
router.get("/", async (ctx, next) => {
await send(ctx, "./public/index.html");
});