View our GitHub

Please visit sails-docs on GitHub to view documentation on your mobile device.

Edit Page

res.send()

Send a simple response. statusCode defaults to 200 ("OK").

This method is used in the underlying implementation of most of the other terminal response methods.

Usage

return res.send([statusCode,] body);

Details

This method performs a myriad of useful tasks for simple non-streaming responses such as automatically assigning the Content-Length unless previously defined and providing automatic HEAD and HTTP cache freshness support.

When a Buffer is given the Content-Type is set to "application/octet-stream" unless previously defined as shown below:

res.set('Content-Type', 'text/html');
res.send(new Buffer('some html'));

When a String is given the Content-Type is set to "text/html":

res.send('some html');

When an Array or Object is given Express will respond with the JSON representation:

res.send({ user: 'tobi' })
res.send([1,2,3])

Finally when a Number is given without any of the previously mentioned bodies, then a response body string is assigned for you. For example 200 will respond will the text "OK", and 404 "Not Found" and so on.

res.send(200)
res.send(404)
res.send(500)

Example

res.send(new Buffer('whoop'));
res.send({ some: 'json' });
res.send('some html');
res.send(404, 'Sorry, we cannot find that!');
res.send(500, { error: 'something blew up' });
res.send(200);

Notes

  • This method is terminal, meaning it is generally the last line of code your app should run for a given request (hence the advisory usage of return throughout these docs).

Is something missing?

If you notice something we've missed or could be improved on, please follow this link and submit a pull request to the sails-docs repo. Once we merge it, the changes will be reflected on the website the next time it is deployed.

Reference

We wrote a book!

Get early access to the book
with promotion code: mcneildoc

Get the Book