Конвертировать необработанный HTTP-ответ в Koa-совместимый объект? - PullRequest
1 голос
/ 04 ноября 2019

У меня есть базовый HTTP-сервер, созданный с помощью модуля Node's http:

var http = require('http');

http.createServer(function (request, response) {
  response.end();
}).listen(8080);

Я получаю объекты request и response с этого необработанного http-сервера, но мне нужноиспользуйте их с некоторыми уже существующими промежуточными программами Koa, поэтому я ищу что-то, что заставит Koa прочитать их и вернуть мне 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 что-то, что я могу использовать?

1 Ответ

0 голосов
/ 11 ноября 2019

Я нашел решение, в котором используется закрытый API (поэтому он может сломаться).

const app = new Koa();

// pass the http request and response objects here
const koaContext = app.createContext(request, response);
...