I'm using the library isomorphic-unfetch
() to get JSON data from a Rest API. This is how I make the request:
const res = await fetch(
`url`
);
To access the body I simply need to do
const response = await res.json()
But how do I access the response headers? If I log the response to my server's console this is what I see:
Response {
size: 0,
timeout: 0,
[Symbol(Body internals)]: {
// stuff
},
[Symbol(Response internals)]: {
url: 'request url',
status: 200,
statusText: 'OK',
headers: Headers { [Symbol(map)]: [Object: null prototype] },
counter: 0
}
}
What's Symbol(Response internals)
? And how do I access its headers
property?
I'm using the library isomorphic-unfetch
(https://www.npmjs.com/package/isomorphic-unfetch) to get JSON data from a Rest API. This is how I make the request:
const res = await fetch(
`url`
);
To access the body I simply need to do
const response = await res.json()
But how do I access the response headers? If I log the response to my server's console this is what I see:
Response {
size: 0,
timeout: 0,
[Symbol(Body internals)]: {
// stuff
},
[Symbol(Response internals)]: {
url: 'request url',
status: 200,
statusText: 'OK',
headers: Headers { [Symbol(map)]: [Object: null prototype] },
counter: 0
}
}
What's Symbol(Response internals)
? And how do I access its headers
property?
2 Answers
Reset to default 12To access its headers
use one of the following:
const res = await fetch(url);
console.log(res.headers.get('content-type');
// or
res.headers.forEach(header => console.log(header));
https://github.github.io/fetch/#Headers
When you run into a situation like this, you'll have access to those properties on the response object, so if you want to get access to the url
property you'll simply have to write response.url
and you'll get what you need.
fetch({someURL}, {
method: "POST"
}).then((response) => response).then((result) => {return result.url});