Node.js - Oggetto risposta

Il res object rappresenta la risposta HTTP che un'app Express invia quando riceve una richiesta HTTP.

Proprietà dell'oggetto risposta

Di seguito è riportato l'elenco delle poche proprietà associate all'oggetto risposta.

Sr.No. Proprietà e descrizione
1

res.app

Questa proprietà contiene un riferimento all'istanza dell'applicazione rapida che utilizza il middleware.

2

res.headersSent

Proprietà booleana che indica se l'app ha inviato intestazioni HTTP per la risposta.

3

res.locals

Un oggetto che contiene variabili locali di risposta con ambito per la richiesta

Metodi dell'oggetto risposta

res.append (campo [, valore])

res.append(field [, value])

Questo metodo aggiunge il valore specificato al campo dell'intestazione della risposta HTTP. Di seguito sono riportati alcuni esempi:

res.append('Link', ['<http://localhost/>', '<http://localhost:3000/>']);
res.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly');
res.append('Warning', '199 Miscellaneous warning');

res.attachment ([nomefile])

res.attachment([filename])

Questo metodo viene utilizzato per inviare un file come allegato nella risposta HTTP. Di seguito sono riportati alcuni esempi:

res.attachment('path/to/logo.png');

res.cookie (nome, valore [, opzioni])

res.cookie(name, value [, options])

Questo metodo viene utilizzato per impostare il nome del cookie su valore. Il parametro value può essere una stringa o un oggetto convertito in JSON. Di seguito sono riportati alcuni esempi:

res.cookie('name', 'tobi', { domain: '.example.com', path: '/admin', secure: true });

res.cookie('cart', { items: [1,2,3] });
res.cookie('cart', { items: [1,2,3] }, { maxAge: 900000 });

res.clearCookie (nome [, opzioni])

res.clearCookie(name [, options])

Questo metodo viene utilizzato per cancellare il cookie specificato dal nome. Di seguito sono riportati alcuni esempi:

res.cookie('name', 'tobi', { path: '/admin' });
res.clearCookie('name', { path: '/admin' });

res.download (percorso [, nomefile] [, fn])

res.download(path [, filename] [, fn])

Questo metodo viene utilizzato per trasferire il file nel percorso come un "allegato". In genere, i browser chiedono all'utente di eseguire il download. Di seguito sono riportati alcuni esempi:

res.download('/report-12345.pdf');

res.download('/report-12345.pdf', 'report.pdf');

res.download('/report-12345.pdf', 'report.pdf', function(err){

});

res.end ([data] [, encoding])

res.end([data] [, encoding])

Questo metodo viene utilizzato per terminare il processo di risposta. Di seguito sono riportati alcuni esempi:

res.end();

res.status(404).end();

res.format (oggetto)

res.format(object)

Questo metodo viene utilizzato per eseguire la negoziazione del contenuto sull'intestazione HTTP Accept sull'oggetto richiesta, se presente. Di seguito sono riportati alcuni esempi:

res.format ({
   'text/plain': function() {
      res.send('hey');
   },

   'text/html': function() {
      res.send('hey'); 
   },

   'application/json': function() {
      res.send({ message: 'hey' });
   },

   'default': function() {
      // log the request and respond with 406
      res.status(406).send('Not Acceptable');
   }
});

res.get (campo)

res.get(field)

Questo metodo viene utilizzato per restituire l'intestazione della risposta HTTP specificata da field. Ecco un esempio:

res.get('Content-Type');

res.json ([body])

res.json([body])

Questo metodo viene utilizzato per inviare una risposta JSON. Di seguito sono riportati alcuni esempi:

res.json(null)
res.json({ user: 'tobi' })
res.status(500).json({ error: 'message' })

res.jsonp ([body])

res.jsonp([body])

Questo metodo viene utilizzato per inviare una risposta JSON con supporto JSONP. Di seguito sono riportati alcuni esempi:

res.jsonp(null)
res.jsonp({ user: 'tobi' })
res.status(500).jsonp({ error: 'message' })

res.links (link)

res.links(links)

Questo metodo viene utilizzato per unire i collegamenti forniti come proprietà del parametro per popolare il campo dell'intestazione HTTP Link della risposta. Di seguito sono riportati alcuni esempi:

res.links ({
   next: 'http://api.example.com/users?page=2',
   last: 'http://api.example.com/users?page=5'
});

res.location (percorso)

res.location(path)

Questo metodo viene utilizzato per impostare il campo di intestazione HTTP Posizione di risposta in base al parametro del percorso specificato. Di seguito sono riportati alcuni esempi:

res.location('/foo/bar');
res.location('foo/bar');
res.location('http://example.com');

res.redirect ([status,] percorso)

res.redirect([status,] path)

Questo metodo viene utilizzato per reindirizzare all'URL deviato dal percorso specificato, con lo stato del codice di stato HTTP specificato. Di seguito sono riportati alcuni esempi:

res.redirect('/foo/bar');
res.redirect('http://example.com');
res.redirect(301, 'http://example.com');

res.render (view [, locals] [, callback])

res.render(view [, locals] [, callback])

Questo metodo viene utilizzato per eseguire il rendering di una vista e invia la stringa HTML sottoposta a rendering al client. Di seguito sono riportati alcuni esempi:

// send the rendered view to the client
res.render('index');

// pass a local variable to the view
res.render('user', { name: 'Tobi' }, function(err, html) {
   // ...
});

res.send ([body])

res.send([body])

Questo metodo viene utilizzato per inviare la risposta HTTP. Di seguito sono riportati alcuni esempi:

res.send(new Buffer('whoop'));
res.send({ some: 'json' });
res.send('<p>some html</p>');

res.sendFile (percorso [, opzioni] [, fn])

res.sendFile(path [, options] [, fn])

Questo metodo viene utilizzato per trasferire il file nel percorso specificato. Imposta il campo dell'intestazione HTTP della risposta del tipo di contenuto in base all'estensione del nome del file. Ecco un esempio:

res.sendFile(fileName, options, function (err) {
   // ...
});

res.sendStatus (statusCode)

res.sendStatus(statusCode)

Questo metodo viene utilizzato per impostare il codice di stato HTTP della risposta su statusCode e inviare la sua rappresentazione di stringa come corpo della risposta. Di seguito sono riportati alcuni esempi:

res.sendStatus(200); // equivalent to res.status(200).send('OK')
res.sendStatus(403); // equivalent to res.status(403).send('Forbidden')
res.sendStatus(404); // equivalent to res.status(404).send('Not Found')
res.sendStatus(500); // equivalent to res.status(500).send('Internal Server Error')

res.set (campo [, valore])

res.set(field [, value])

Questo metodo viene utilizzato per impostare il campo dell'intestazione HTTP della risposta su valore. Di seguito sono riportati alcuni esempi:

res.set('Content-Type', 'text/plain');

res.set ({
   'Content-Type': 'text/plain',
   'Content-Length': '123',
   'ETag': '12345'
})

res.status (codice)

res.status(code)

Questo metodo viene utilizzato per impostare lo stato HTTP per la risposta. Di seguito sono riportati alcuni esempi:

res.status(403).end();
res.status(400).send('Bad Request');
res.status(404).sendFile('/absolute/path/to/404.png');

res.type (tipo)

res.type(type)

Questo metodo viene utilizzato per impostare l'intestazione HTTP Content-Type sul tipo MIME. Di seguito sono riportati alcuni esempi:

res.type('.html');              // => 'text/html'
res.type('html');               // => 'text/html'
res.type('json');               // => 'application/json'
res.type('application/json');   // => 'application/json'
res.type('png');                // => image/png: