Skip to content

Commit ec08be8

Browse files
authored
fix: do not discard already present set-cookie header (#327)
fix: do not discard already present set-cookie header
2 parents 1c314a9 + 5165d80 commit ec08be8

File tree

4 files changed

+24
-10
lines changed

4 files changed

+24
-10
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
"acorn": "^6.1.1",
4747
"acorn-dynamic-import": "^4.0.0",
4848
"acorn-walk": "^6.1.1",
49-
"cookie": "^0.4.0",
49+
"cookies": "^0.7.3",
5050
"is-https": "^1.0.0",
5151
"js-cookie": "^2.2.0",
5252
"vue-i18n": "^8.11.2",

src/plugins/main.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import Cookie from 'cookie'
1+
import Cookies from 'cookies'
22
import JsCookie from 'js-cookie'
33
import Vue from 'vue'
44
import VueI18n from 'vue-i18n'
@@ -66,11 +66,12 @@ export default async (context) => {
6666
path: '/'
6767
})
6868
} else if (res) {
69-
const redirectCookie = Cookie.serialize(cookieKey, locale, {
69+
const cookies = new Cookies(req, res)
70+
cookies.set(cookieKey, locale, {
7071
expires: new Date(date.setDate(date.getDate() + 365)),
71-
path: '/'
72+
path: '/',
73+
httpOnly: false
7274
})
73-
res.setHeader('Set-Cookie', redirectCookie)
7475
}
7576
}
7677

src/templates/middleware.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import Cookie from 'cookie'
1+
import Cookies from 'cookies'
22
import JsCookie from 'js-cookie'
33
import middleware from '../middleware'
44

55
middleware['i18n'] = async (context) => {
6-
const { app, req, route, store, redirect, isHMR } = context;
6+
const { app, req, res, route, store, redirect, isHMR } = context;
77

88
if (isHMR) {
99
return
@@ -43,8 +43,8 @@ middleware['i18n'] = async (context) => {
4343
if (process.client) {
4444
return JsCookie.get(cookieKey);
4545
} else if (req && typeof req.headers.cookie !== 'undefined') {
46-
const cookies = req.headers && req.headers.cookie ? Cookie.parse(req.headers.cookie) : {}
47-
return cookies[cookieKey]
46+
const cookies = new Cookies(req, res)
47+
return cookies.get(cookieKey)
4848
}
4949
}
5050
return null

yarn.lock

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3079,7 +3079,7 @@ cookie-signature@1.0.6:
30793079
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
30803080
integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
30813081

3082-
cookie@0.4.0, cookie@^0.4.0:
3082+
cookie@0.4.0:
30833083
version "0.4.0"
30843084
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
30853085
integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
@@ -3089,6 +3089,14 @@ cookie@^0.3.1:
30893089
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
30903090
integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
30913091

3092+
cookies@^0.7.3:
3093+
version "0.7.3"
3094+
resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.7.3.tgz#7912ce21fbf2e8c2da70cf1c3f351aecf59dadfa"
3095+
integrity sha512-+gixgxYSgQLTaTIilDHAdlNPZDENDQernEMiIcZpYYP14zgHsCt4Ce1FEjFtcp6GefhozebB6orvhAAWx/IS0A==
3096+
dependencies:
3097+
depd "~1.1.2"
3098+
keygrip "~1.0.3"
3099+
30923100
copy-concurrently@^1.0.0:
30933101
version "1.0.5"
30943102
resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
@@ -6362,6 +6370,11 @@ jsprim@^1.2.2:
63626370
json-schema "0.2.3"
63636371
verror "1.10.0"
63646372

6373+
keygrip@~1.0.3:
6374+
version "1.0.3"
6375+
resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.0.3.tgz#399d709f0aed2bab0a059e0cdd3a5023a053e1dc"
6376+
integrity sha512-/PpesirAIfaklxUzp4Yb7xBper9MwP6hNRA6BGGUFCgbJ+BM5CKBtsoxinNXkLHAr+GXS1/lSlF2rP7cv5Fl+g==
6377+
63656378
killable@^1.0.1:
63666379
version "1.0.1"
63676380
resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"

0 commit comments

Comments
 (0)