Cookies.md 2.0 KB

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