edge-runtime icon indicating copy to clipboard operation
edge-runtime copied to clipboard

cookies: Decoding of spaces that are encoded as `+`

Open konomae opened this issue 8 months ago • 1 comments

Bug Report

I'm not sure if this is a bug or a specification of @edge-runtime/cookies. If a cookie contains spaces, they may be encoded as a + sign. (e.g: Rails)

Current Behavior:

const headers = new Headers({ cookie: 'a=hello+world' })
const cookies = new RequestCookies(headers)
const cookie = cookies.get('a')
expect(cookie).toEqual({ name: 'a', value: 'hello+world' })

Expected behavior/code

const headers = new Headers({ cookie: 'a=hello+world' })
const cookies = new RequestCookies(headers)
const cookie = cookies.get('a')
expect(cookie).toEqual({ name: 'a', value: 'hello world' })

Possible solution

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#decoding_query_parameters_from_a_url

Additional context/screenshots

N/A

konomae avatar Jun 13 '24 08:06 konomae