2016-05-26 14 views
2

wenn ich einen zufälligen Header zu einer Antwort in Hapi.js hinzufügen, funktioniert es gut.Kann Header nicht mit Hapi.js antworten

Wenn ich jedoch versuche, eine bereits bestehende Kopfzeile hinzuzufügen, wird sie nicht gesendet.

Es ist fast so, als hätte ich es nicht einmal hinzugefügt.

reply("Hello World) 
     .header("Random-Header", "Random Reply") 
     .header("Access-Control-Expose-Headers","Authorization"); 

Gibt es eine Möglichkeit, die Access-Control-Expose-Header - Autorisierung hinzuzufügen?

+0

Sie sollten die CORS-Kopfzeile auf einem der Server oder Routenebene konfigurieren über config und nicht direkt, wie Sie zu tun versuchen. –

Antwort

3

Wenn Sie möchten, dass Sie CORS-Header verwenden, sollten sie in route Optionen (CORS-Header standardmäßig deaktiviert) aktivieren/konfigurieren:

server.route({ 
    method: 'GET', 
    path: '/', 
    handler: function(request, reply) { ... }, 
    config: { 
    cors: { 
     origin: ['*'], // list of valid domains 
     exposedHeaders: ['Authorization'] // 'Access-Control-Expose-Headers' 
    } 
    } 
}); 

Lesen Sie mehr über Standardwerte und Optionen in hapi documentation.

oder Sie können CORS auf allen Strecken ermöglichen:

new Hapi.Server({ 
    connections: { 
    routes: { 
     cors: { 
     origin: ['*'], 
     exposedHeaders: ['Authorization'] 
     } 
    } 
    } 
})