Firefox Tomorrow

web api instance method

Headers: getSetCookie() method

View on MDN ↗

Available in workers

The getSetCookie() method of the Headers interface returns an array containing the values of all Set-Cookie headers associated with a response. This allows Headers objects to handle having multiple Set-Cookie headers, which wasn’t possible prior to its implementation.

This method is intended for use on server environments (for example Node.js). Browsers block frontend JavaScript code from accessing the Set-Cookie header, as required by the Fetch spec, which defines Set-Cookie as a forbidden response-header name that must be filtered out from any response exposed to frontend code.

Syntax

getSetCookie()

Parameters

None.

Return value

An array of strings representing the values of all the different Set-Cookie headers associated with a response.

If no Set-Cookie headers are set, the method will return an empty array ([ ]).

Examples

As alluded to above, running code like the following on the client won’t return any results — Set-Cookie is filtered out from Headers retrieved over the network.

fetch("https://example.com").then((response) => {
  console.log(response.headers.getSetCookie());
  // No header values returned
});

However, the following could be used to query multiple Set-Cookie values. This is much more useful on the server, but it would also work on the client.

const headers = new Headers({
  "Set-Cookie": "name1=value1",
});

headers.append("Set-Cookie", "name2=value2");

headers.getSetCookie();
// Returns ["name1=value1", "name2=value2"]

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.

See also