Skip to content
/ cookies Public

Manage request/response cookies in the environments where those are not supported.

License

Notifications You must be signed in to change notification settings

mswjs/cookies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

24ba6ad · Jun 21, 2024

History

61 Commits
Jun 21, 2024
Jun 13, 2024
Nov 8, 2023
Nov 8, 2023
Nov 8, 2023
Nov 23, 2020
May 10, 2022
Jul 9, 2022
Mar 11, 2022
Nov 19, 2020
Nov 19, 2020
Jun 21, 2024
Jun 21, 2024
Jun 21, 2024
Jun 21, 2024
Nov 19, 2020
Oct 6, 2022

Repository files navigation

Latest version

Cookies

Manage request/response cookies in the environments where those are not supported.

Install

npm install @mswjs/cookies

API

set(request: Request, response: Response)

Sets the response cookies in the store associated with the given request origin.

store.set(
  new Request('https://mswjs.io'),
  new Response(null, {
    headers: new Headers({
      'set-cookie': 'id=abc-123',
    }),
  }),
)

get(request: Request)

Retrieves the cookies relevant to the given request's origin.

store.get(new Request('https://mswjs.io'))

.get() respects the req.credentials policy.

Executing this command returns a Map instance with the request cookies:

Map {
  "id" => { name: "id", value: "abc-123" }
}

getAll()

Returns all the cookies in the store.

Executing .getAll() method returns a Map instance with request cookies grouped by request origin.

Map {
  "https://mswjs.io" => Map {
    "id" => { name: "id", value: "abc-123" }
  }
}

deleteAll(request: Request)

Removes all the cookies associated with the given request's origin.

persist()

Persists the current store state in the localStorage.

hydrate()

Hydrates the store values from the previously persisted state in localStorage.

clear()

Removes all the cookies from the store, producing a nice and shiny empty store.

Credits

Original idea by Christoph Guttandin.