将原始 http 响应转换为 Koa 兼容对象?
Convert raw http response to Koa compatible object?
我有一个使用 Node 的 http
模块创建的基本 HTTP 服务器:
var http = require('http');
http.createServer(function (request, response) {
response.end();
}).listen(8080);
我正在从这个原始 http 服务器获取 request
和 response
对象,但我需要将它们与一些预先存在的 Koa 中间件一起使用,所以我正在寻找一些东西让 Koa 阅读它们,然后 return 给我一个我可以使用的 context
对象。
我现在用的是:
const contextCompat = context => ({
cookies: { get: key => getCookies(context.request)[key] },
request: context.request,
state: {},
throw: (status, message) => {
throw new Error(status, message);
},
});
但我想使用内置的 Koa 逻辑来包装我的原始上下文。
Koa 是否暴露了我可以使用的东西?
我找到了一个解决方案,它使用私有 API(因此它可能会中断)。
const app = new Koa();
// pass the http request and response objects here
const koaContext = app.createContext(request, response);
我有一个使用 Node 的 http
模块创建的基本 HTTP 服务器:
var http = require('http');
http.createServer(function (request, response) {
response.end();
}).listen(8080);
我正在从这个原始 http 服务器获取 request
和 response
对象,但我需要将它们与一些预先存在的 Koa 中间件一起使用,所以我正在寻找一些东西让 Koa 阅读它们,然后 return 给我一个我可以使用的 context
对象。
我现在用的是:
const contextCompat = context => ({
cookies: { get: key => getCookies(context.request)[key] },
request: context.request,
state: {},
throw: (status, message) => {
throw new Error(status, message);
},
});
但我想使用内置的 Koa 逻辑来包装我的原始上下文。
Koa 是否暴露了我可以使用的东西?
我找到了一个解决方案,它使用私有 API(因此它可能会中断)。
const app = new Koa();
// pass the http request and response objects here
const koaContext = app.createContext(request, response);