2017-12-04 3 views
0

Ich muss einige Antwortheader innerhalb der server.onPreHandler ext Methode einstellen. Es gibt 2 Szenarien, in denen ich das brauche, wenn der Benutzer eine API-Anfrage an meinen Routenendpunkt sendet. 1) Im Erfolgsszenario muss ich Kopfzeilen setzen und Prozess fortsetzen weiter unten Lebenszyklus 2) Im Fehlerszenario (wo Benutzer ein erforderliches Feld nicht angegeben hat), muss ich Header festlegen und sofort an Benutzer mit entsprechenden Fehler zurück Info.Setze Antwortheader

In beiden dieser Szenarien möchte ich Antwortheader festlegen. Im zweiten Szenario oben kann ich reply.response ('error') aufrufen und dann mit response.header ('x', 'value') den Antwortheader setzen. Im ersten Szenario, in dem ich vor dem Aufruf von reply.continue() versuche, den Header mit request.response.header ('x', 'value) zu setzen, bekomme ich den Fehler response null.

Bitte helfen

Dank Ramesh

Antwort

1

Ich bin in der Lage Response-Header wie folgt zu ändern. Hast du diesen Weg versucht?

// at your onPreResponse ext body 
const response = request.response; 
if (request.response.isBoom) { 
    response.output.headers['x'] = 'value'; 
} else { 
    response.header('x', 'value'); 
} 
+0

Hallo, Danke für die Antwort Da request.response null ist, die wir bekommen können nicht lesen Eigenschaft ‚isBoom‘ „kann nicht isBoom auf null rufen“ von null –

+0

Hmm, natürlich gibt es keine Antwort auf onPreHandler Ebene . Sie müssen Ihre Arbeit in onPostHandler oder onPreResponse ext point erledigen. – metoikos

+0

Vielen Dank. Wir haben eine Logik für den onPreProcess ext-Punkt hinzugefügt, um die Antwortheader zu setzen –

Verwandte Themen