2 KiB
2 KiB
Cookie Handling
Cookie
interface
- name
string
- value
string
- expires
Date|number
(optional) - maxAge
number
(optional) - domain
string
(optional) - path
string
(optional) - secure
boolean
(optional) - httpOnly
boolean
(optional) - sameSite
'String'|'Lax'|'None'
(optional) - unparsed
string[]
(optional) Left over attributes that weren't parsed.
deleteCookie(headers, name[, attributes])
Sets the expiry time of the cookie to the unix epoch, causing browsers to delete it when received.
import { deleteCookie, Headers } from 'undici'
const headers = new Headers()
deleteCookie(headers, 'name')
console.log(headers.get('set-cookie')) // name=; Expires=Thu, 01 Jan 1970 00:00:00 GMT
Arguments:
- headers
Headers
- name
string
- attributes
{ path?: string, domain?: string }
(optional)
Returns: void
getCookies(headers)
Parses the Cookie
header and returns a list of attributes and values.
import { getCookies, Headers } from 'undici'
const headers = new Headers({
cookie: 'get=cookies; and=attributes'
})
console.log(getCookies(headers)) // { get: 'cookies', and: 'attributes' }
Arguments:
- headers
Headers
Returns: Record<string, string>
getSetCookies(headers)
Parses all Set-Cookie
headers.
import { getSetCookies, Headers } from 'undici'
const headers = new Headers({ 'set-cookie': 'undici=getSetCookies; Secure' })
console.log(getSetCookies(headers))
// [
// {
// name: 'undici',
// value: 'getSetCookies',
// secure: true
// }
// ]
Arguments:
- headers
Headers
Returns: Cookie[]
setCookie(headers, cookie)
Appends a cookie to the Set-Cookie
header.
import { setCookie, Headers } from 'undici'
const headers = new Headers()
setCookie(headers, { name: 'undici', value: 'setCookie' })
console.log(headers.get('Set-Cookie')) // undici=setCookie
Arguments:
- headers
Headers
- cookie
Cookie
Returns: void