2015-02-01 2 views

Antwort

7

Ja, das ist durchaus möglich.

Sie müssen die Middleware der Sails deaktivieren, die poweredBy genannt wird, und auch dem Express.js-Server mitteilen, dass er keine eigene Kopfzeile hinzufügen soll.

einfach Ihre config/http.js Konfigurationsdatei sieht wie folgt aktualisiert:

module.exports.http = { 
    middleware: { 

    disablePoweredBy: function(request, response, next) { 
     var expressApp = sails.hooks.http.app; 
     expressApp.disable('x-powered-by'); 
// response.set('X-Powered-By', 'One Thousand Hamsters'); 
     next(); 
    }, 

    order: [ 
// ... 
// 'poweredBy', 
     'disablePoweredBy', 
// ... 
    ] 
    } 
}; 

Hier haben wir eine Instanz von Express Application von Sails Haken abrufen und dann disable() es mit der Methode der x-powered-by Konfigurationsparameter false Wert einzustellen. Das verhindert, dass der Header erscheint.

Und um diese benutzerdefinierte Middleware zu aktivieren, müssen Sie sie zum order Array hinzufügen. Sie können einfach poweredBy Middleware durch disablePoweredBy ersetzen.

Wenn Sie die response.set() Methode deaktivieren, können Sie auch Ihren eigenen Header-Wert festlegen.

8

Bearbeiten Sie Ihre config/http.js und setzen poweredBy-false:

module.exports.http = { 
    middleware: { 
    poweredBy: false 
    } 
} 

Da Sails will disable die Express-X-Powered-By-Header gibt keine Notwendigkeit, sie manuell zu deaktivieren ist.

+0

Das funktioniert perfekt mit Segeln v 0,12 reiten. Dies sollte die akzeptierte Antwort sein –

0

Keine Notwendigkeit, eine neue Middleware zu schaffen, können Sie über die Poweredby Middleware von Sails.js zum Beispiel

module.exports.http = { 
    middleware: { 
    poweredBy: function (req, res, next) { 
     // or uncomment if you want to replace with your own 
     // res.set('X-Powered-By', "Some Great Company");  
     return next(); 
    } 
    } 
} 
Verwandte Themen