const Koa = require("koa");
const app = new Koa();
/* const path = require('path');
const fs = require('fs');
// x-response-time
app.use(async (ctx, next) => {
const start = Date.now();
await next();
const ms = Date.now() - start;
ctx.set('X-Response-Time', `${ms}ms`);
console.log(1, path);
});
// logger
app.use(async (ctx, next) => {
const start = Date.now();
await next();
const ms = Date.now() - start;
console.log(`${ctx.method} ${ctx.url} - ${ms}`);
console.log(2, path);
});
// response
app.use(async ctx => {
ctx.body = 'hello world!';
}); */
const router = require("koa-router")();
const request = require("request");
router.get("/", async function (ctx, next) {
await new Promise(function (resolve, reject) {
var req = request(
{
method: "GET",
encoding: null,
// uri: 'http://images5.fanpop.com/image/photos/30900000/beautiful-pic-different-beautiful-pictures-30958249-1600-1200.jpg'
uri: "http://seopic.699pic.com/photo/40014/3406.jpg_wh1200.jpg",
},
function (err, response, body) {
if (err) {
return reject(err);
}
resolve(body);
}
);
})
.then((body) => {
ctx.status = 200;
ctx.type = "jpg";
console.log(Buffer.isBuffer(body));
ctx.length = Buffer.byteLength(body);
ctx.body = body;
})
.catch((err) => {
console.error(err);
});
});
// 静态文件目录
app.use(require("koa-static")(__dirname));
app.use(router.routes());
app.listen(8080);