Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Node.js Basics 2017 Building a Command Line Application Making a GET Request with https

What is a response object? Does the treehouse server respond with a javascript object, or does this work for all sites?

I was curious as to how we can call methods on the response object passed into our callback. How does this work? What even is the response object?

Thanks!

1 Answer

Steven Parker
Steven Parker
231,269 Points

The response object represents the outgoing data stream.

It contains many useful methods for sending data back to the client. Those methods are provided for you to use in creating your response to the request. Its properties and methods are described in detail in the node.js documentation.

JavaScript objects are not transmitted directly, but there are common methods for converting them to and from other forms. One very common form is JSON, which is used by Treehouse for sending student information.

Thanks Steven for a great answer. I checked out the node.js documentation, but I'm still curious about the description of the response object being 'created internally' by a http server. Is the response from a http request always an object because node is parsing the output stream into an object? Why isn't my response just a simple string, for example?

Thanks again!

Steven Parker
Steven Parker
231,269 Points

We may have some terms confused here. I thought you were asking about a response object which would be used by a server to send a response to a request. But now it sounds like you are working from the client side. I think what you are calling a "response object" may actually be the IncomingMessage object that arrives in response to a request.

They are similar in some respects, and are both covered on that documentation page I linked. But on the client side, the IncomingMessage object represents the incoming data from the server. You'll likely attach an event listener to it to respond to the data event to get your actual message. I think in just another video or two from where you are in the course you will see this demonstrated.