当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript koa-send.default方法代码示例

本文整理汇总了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();
	}
}
开发者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.default方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。