should-send-same-site-none
Advanced tools
Comparing version 2.0.4 to 2.0.5
@@ -115,4 +115,4 @@ function intToString(intValue) { | ||
var shouldSendSameSiteNone = function(req, res, next) { | ||
var end = res.end; | ||
res.end = function() { | ||
var writeHead = res.writeHead; | ||
res.writeHead = function() { | ||
var ua = req.get("user-agent"); | ||
@@ -122,3 +122,3 @@ var isCompatible = isSameSiteNoneCompatible(ua); | ||
var removeSameSiteNone = function(str) { | ||
return str.replace(/ SameSite=None;?/g, ""); | ||
return str.replace(/;\s*SameSite\s*=\s*None\s*(?=;|$)/ig, ""); | ||
}; | ||
@@ -134,3 +134,3 @@ if (!isCompatible && cookies) { | ||
end.apply(this, arguments); | ||
writeHead.apply(this, arguments); | ||
}; | ||
@@ -137,0 +137,0 @@ next(); |
@@ -107,2 +107,3 @@ const express = require("express"); | ||
app.get("/", (req, res, next) => { | ||
res.set("Set-Cookie", "a=b;samesite = none ;secure"); | ||
res.cookie("foo", "bar", { sameSite: "none" }); | ||
@@ -126,3 +127,3 @@ res.cookie("koo", "mar", { sameSite: "none" }); | ||
.set("User-Agent", negativeTestCases[i]); | ||
const expected = ["foo=bar; Path=/;,koo=mar; Path=/;"]; | ||
const expected = ["a=b;secure", "foo=bar; Path=/", "koo=mar; Path=/"]; | ||
expect(response.header["set-cookie"]).toEqual(expected); | ||
@@ -142,3 +143,5 @@ expect(response.text).toEqual("ok"); | ||
const expected = [ | ||
"foo=bar; Path=/; SameSite=None,koo=mar; Path=/; SameSite=None" | ||
"a=b;samesite = none ;secure", | ||
"foo=bar; Path=/; SameSite=None", | ||
"koo=mar; Path=/; SameSite=None" | ||
]; | ||
@@ -176,3 +179,3 @@ expect(response.header["set-cookie"]).toEqual(expected); | ||
.set("User-Agent", negativeTestCases[i]); | ||
const expected = ["foo=bar; Path=/;"]; | ||
const expected = ["foo=bar; Path=/"]; | ||
expect(response.header["set-cookie"]).toEqual(expected); | ||
@@ -179,0 +182,0 @@ expect(response.text).toEqual("ok"); |
{ | ||
"name": "should-send-same-site-none", | ||
"version": "2.0.4", | ||
"version": "2.0.5", | ||
"description": "A simple utility to detect incompatible user agents for `SameSite=None` cookie attribute", | ||
@@ -25,5 +25,5 @@ "keywords": [ | ||
"express": "^4.17.1", | ||
"jest": "^24.9.0", | ||
"jest": "^25.5.1", | ||
"supertest": "^4.0.2" | ||
} | ||
} |
21710
6
346