Node.js - Objet de réponse

le res object représente la réponse HTTP envoyée par une application Express lorsqu'elle reçoit une requête HTTP.

Propriétés de l'objet de réponse

Voici la liste de quelques propriétés associées à l'objet de réponse.

N ° Sr. Propriétés et description
1

res.app

Cette propriété contient une référence à l'instance de l'application express qui utilise le middleware.

2

res.headersSent

Propriété booléenne qui indique si l'application a envoyé des en-têtes HTTP pour la réponse.

3

res.locals

Un objet qui contient des variables locales de réponse étendues à la demande

Méthodes d'objet de réponse

res.append (champ [, valeur])

res.append(field [, value])

Cette méthode ajoute la valeur spécifiée au champ d'en-tête de réponse HTTP. Voici quelques exemples -

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

res.attachment ([nom de fichier])

res.attachment([filename])

Cette méthode est utilisée pour envoyer un fichier en tant que pièce jointe dans la réponse HTTP. Voici quelques exemples -

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

res.cookie (nom, valeur [, options])

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

Cette méthode est utilisée pour définir le nom du cookie sur la valeur. Le paramètre de valeur peut être une chaîne ou un objet converti en JSON. Voici quelques exemples -

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 (nom [, options])

res.clearCookie(name [, options])

Cette méthode est utilisée pour effacer le cookie spécifié par son nom. Voici quelques exemples -

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

res.download (chemin [, nom de fichier] [, fn])

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

Cette méthode est utilisée pour transférer le fichier au chemin en tant que «pièce jointe». En règle générale, les navigateurs inviteront l'utilisateur à télécharger. Voici quelques exemples -

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

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

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

});

res.end ([données] [, encodage])

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

Cette méthode est utilisée pour terminer le processus de réponse. Voici quelques exemples -

res.end();

res.status(404).end();

res.format (objet)

res.format(object)

Cette méthode est utilisée pour effectuer une négociation de contenu sur l'en-tête HTTP Accept sur l'objet de requête, lorsqu'il est présent. Voici quelques exemples -

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 (champ)

res.get(field)

Cette méthode est utilisée pour renvoyer l'en-tête de réponse HTTP spécifié par field. Voici un exemple -

res.get('Content-Type');

res.json ([corps])

res.json([body])

Cette méthode est utilisée pour envoyer une réponse JSON. Voici quelques exemples -

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

res.jsonp ([corps])

res.jsonp([body])

Cette méthode est utilisée pour envoyer une réponse JSON avec le support JSONP. Voici quelques exemples -

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

res.links (liens)

res.links(links)

Cette méthode est utilisée pour joindre les liens fournis en tant que propriétés du paramètre afin de remplir le champ d'en-tête HTTP Lien de la réponse. Voici quelques exemples -

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

res.location (chemin)

res.location(path)

Cette méthode est utilisée pour définir le champ d'en-tête HTTP Location de réponse en fonction du paramètre de chemin spécifié. Voici quelques exemples -

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

res.redirect ([status,] chemin)

res.redirect([status,] path)

Cette méthode est utilisée pour rediriger vers l'URL dérivée du chemin spécifié, avec l'état du code d'état HTTP spécifié. Voici quelques exemples -

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

res.render (vue [, locaux] [, rappel])

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

Cette méthode est utilisée pour rendre une vue et envoie la chaîne HTML rendue au client. Voici quelques exemples -

// 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 ([corps])

res.send([body])

Cette méthode est utilisée pour envoyer la réponse HTTP. Voici quelques exemples -

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

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

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

Cette méthode est utilisée pour transférer le fichier sur le chemin donné. Définit le champ d'en-tête HTTP de la réponse Content-Type en fonction de l'extension du nom de fichier. Voici un exemple -

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

res.sendStatus (statusCode)

res.sendStatus(statusCode)

Cette méthode est utilisée pour définir le code d'état HTTP de la réponse sur statusCode et envoyer sa représentation sous forme de chaîne en tant que corps de réponse. Voici quelques exemples -

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 (champ [, valeur])

res.set(field [, value])

Cette méthode est utilisée pour définir le champ d'en-tête HTTP de la réponse sur la valeur. Voici quelques exemples -

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

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

res.status (code)

res.status(code)

Cette méthode est utilisée pour définir l'état HTTP de la réponse. Voici quelques exemples -

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

res.type (type)

res.type(type)

Cette méthode est utilisée pour définir l'en-tête HTTP Content-Type sur le type MIME. Voici quelques exemples -

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: