Я хочу создать плагин HapiJS для v17, чтобы добавить к ответу некоторые пользовательские заголовки, для cors, но это не имеет значения.
const cors = {
name: 'cors',
version: '1.0.0',
async register(server) {
logger.debug('Initiating CORS internal plugin...');
const { port } = server;
originPort = port;
server.ext('onPreResponse', async (request, h) => {
return h
.response()
.header('Access-Control-Allow-Origin', resOrigin)
.header('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE')
.header('Access-Control-Allow-Headers', 'Content-Type, X-Requested-With, Authorization')
.header('Access-Control-Allow-Credentials', 'true')
.header('Access-Control-Max-Age', 1728000);
});
},
};
Вот что у меня естьдо сих пор.Я не думаю, что это правильно, так как я получаю ошибку.
Я также пытался:
server.ext('onPreResponse', async (request, h) => {
const { response } = request;
response.header('Access-Control-Allow-Origin', resOrigin);
response.header('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE');
response.header('Access-Control-Allow-Headers', 'Content-Type, X-Requested-With, Authorization');
response.header('Access-Control-Allow-Credentials', 'true');
response.header('Access-Control-Max-Age', 1728000);
return h.continue;
});
Кажется, что это работает локально, но не удается во время тестирования.
console.error node_modules/hapi/lib/core.js:126
Debug: internal, implementation, error
TypeError: response.header is not a function
at header (/home/node/app/src/lib/cors.js:47:22)
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:228:7)
Как мне добиться этого в HapiJS v17?Похоже, API был полностью переработан в этой версии, и примеров того, что конкретно я пытаюсь сделать в этой версии Hapi, очень мало.
Спасибо!