本文整理汇总了TypeScript中koa-send类的典型用法代码示例。如果您正苦于以下问题:TypeScript koa-send类的具体用法?TypeScript koa-send怎么用?TypeScript koa-send使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了koa-send类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: send
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();
}
}
开发者ID:ha-dai,项目名称:Misskey,代码行数:57,代码来源:send-drive-file.ts
示例2: send
router.get('/assets/*', async ctx => {
await send(ctx, ctx.path, {
root: client,
maxage: ms('7 days'),
immutable: true
});
});
开发者ID:ha-dai,项目名称:Misskey,代码行数:7,代码来源:index.ts
示例3: send
router.get('/assets/*', async ctx => {
await send(ctx, ctx.params[0], {
root: `${__dirname}/../../docs/assets/`,
maxage: ms('7 days'),
immutable: true
});
});
开发者ID:ha-dai,项目名称:Misskey,代码行数:7,代码来源:docs.ts
示例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`);
}
开发者ID:bernardbr,项目名称:generator-ng-fullstack,代码行数:8,代码来源:index.ts
示例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: () => {},
});
});
开发者ID:CNManning,项目名称:DefinitelyTyped,代码行数:11,代码来源:koa-send-tests.ts
示例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();
};
开发者ID:leebenson,项目名称:cli,代码行数:14,代码来源:app.ts
示例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();
};
开发者ID:carlansley,项目名称:swagger2-koa,代码行数:21,代码来源:ui.ts
示例8: send
app.use(async (ctx: Koa.Context) => {
const path: string = await send(ctx, 'stimpy.html');
});
开发者ID:AbraaoAlves,项目名称:DefinitelyTyped,代码行数:3,代码来源:koa-send-tests.ts
示例9: send
router.get("/", async (ctx, next) => {
await send(ctx, "./public/index.html");
});
开发者ID:TeamCovertDragon,项目名称:duanwu-statistics,代码行数:3,代码来源:index.ts
注:本文中的koa-send类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论