How to return a sendRequest response?

I set my methods as environment variables. Here is an example:

var getEventCategory = (name,callback) => {
       return pm.sendRequest({
            url: pm.environment.get("mainUrl") + "/event-category/" + name,
            method: 'GET',
            header: {
                'content-type': 'application/json',
                'Authorization': "Bearer " + pm.environment.get("accessToken"),
                'Accept': "*/*"
            }

        }, function(err, res) {
            if (callback) {
                callback();
            }
        });
    }

I want to return response code and body from this request when I call them in my scripts. How can I do that? What does pm.sendRequest actually return?

Hi there @batuarslan -

The docs include some examples of using sendRequest(), along with a link to the response structure reference.

You can also log the response (res in your example) in the Postman console to inspect the response, and access the code like res.code.

Hey,

Just adding some additional info around getting the response body, as it’s a little bit different because you need to convert that stream object.

If you add something like this, under the console.log() lines from @jetison’s image above, you should also be able to log out the body of that request.

let resBody = new Buffer.from(res.stream).toString()
console.log(JSON.parse(resBody))

This is just one way of doing it but I’m sure that there are many more. :slight_smile:

res has json and text methods, so you can get the response JSON/text for example via:

var json = res.json()
var text = res.text()

Awesome!! Thanks @matt I knew there was a simple way of getting that rather than the long winded way I add. :grin:

Hopefully, that’s all @batuarslan needs now to complete the task :heart: