2017-01-30 26 views
2

Я попытался построить перехватчик в узле js, но пока я его не получил. Я хочу перехватчик, чтобы поймать каждый запрос и добавить пользовательский заголовок, восстановленный из контекста koa.Перехватчик в Node.js

Что я имею в виду, например, если вы выполняете http-запрос с запросом-обещанием, я хочу автоматически добавить пользовательский заголовок и распространить его на судьбу.

Кто-нибудь знает?

ответ

1

Перехватчики в основном являются средними.

// before all 
app.use(function *(next) { 
    this.set('x-new-header', 'value'); 
    yield next; 
}); 

// the rest 
app.use(routes()); 

Если ваше приложение Koa действует как обратный прокси. Вы можете использовать API pipe для распространения нового заголовка на удаленный сервер.

// before all 
app.use(function *(next) { 
    this.set('x-new-header', 'value'); 
    yield next; 
}); 

// the reverse-proxy 
const request = require('co-request'); 
app.use(function *() { 
    this.body = this.req.pipe(request(config)); 
});