• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript koa-send类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript koa-session类代码示例发布时间:2022-05-28
下一篇:
TypeScript koa-mount类代码示例发布时间:2022-05-28
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap