Koa.js - Oggetto risposta

Un oggetto Koa Response è un'astrazione sopra l'oggetto vanilla response di node, che fornisce funzionalità aggiuntive utili per lo sviluppo quotidiano del server HTTP. L'oggetto risposta Koa è incorporato nell'oggetto contesto,this. Disconnettiamo l'oggetto risposta ogni volta che riceviamo una richiesta.

var koa = require('koa');
var router = require('koa-router');
var app = koa();

var _ = router();

_.get('/hello', getMessage);

function *getMessage(){
   this.body = 'Your request has been logged.';
   console.log(this.response);
}

app.use(_.routes());
app.listen(3000);

Quando esegui questo codice e vai a https://localhost:3000/hello quindi riceverai la seguente risposta.

Sulla tua console, l'oggetto della richiesta verrà disconnesso.

{ 
   status: 200,
   message: 'OK',
   header: 
   {
      'content-type': 'text/plain; charset=utf-8',
      'content-length': '12' 
   },
   body: 'Your request has been logged.' 
}

Lo stato e il messaggio vengono impostati automaticamente da Koa ma possono essere modificati da noi. Se non impostiamo il corpo della risposta, il codice di stato è impostato su 404. Una volta impostato il corpo della risposta, lo stato è impostato su 200 per impostazione predefinita. Possiamo ignorare esplicitamente questo comportamento.

Abbiamo accesso a molte proprietà utili della risposta utilizzando questo oggetto. Vediamo alcuni esempi:

response.header

Fornisce tutte le intestazioni di risposta.

response.status

Fornisce lo stato della risposta (200, 404, 500 e così via). Questa proprietà viene utilizzata anche per impostare lo stato della risposta.

response.message

Fornisce il messaggio di risposta. Questa proprietà viene utilizzata anche per impostare messaggi personalizzati con risposte. È associato a response.status.

risposta.corpo

Ottieni o imposta il corpo della risposta. Di solito, vi accediamo utilizzando l'oggetto contesto. Questo è solo un altro modo per accedervi. Il corpo potrebbe essere del tipo: String, Buffer, Stream, Object o Null.

response.type

Ottieni o imposta il tipo di contenuto della risposta corrente.

response.get (campo)

Questa funzione viene utilizzata per ottenere i valori delle intestazioni con campo valore senza distinzione tra maiuscole e minuscole.

response.set (campo, valore)

Questa funzione viene utilizzata per impostare un'intestazione sulla risposta utilizzando il campo e la coppia di valori.

response.remove (campo)

Questa funzione viene utilizzata per annullare l'impostazione di un'intestazione sulla risposta utilizzando un nome di campo.

Puoi leggere ulteriori informazioni sull'oggetto risposta nei documenti su Response .