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

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.