* add test for removing user provided expires
* rework impl and tests to ignore maxAge, do not set it
this is to take into account the built-in relative expires when passing
a maxAge to res.cookie
I realized that using maxAge to invalidate cookies inherrently hit this
relativee expires behavior, and the goal of this PR is not to rework
that relative expires behavior w/ maxAge, but to prevent users from
overwriting these values by accident when clearing cookies
* update history.md
* explicitly delete maxAge instead of setting as undefined
* drop the spread, use object.assign
* wording, review comment on history.md
Co-authored-by: Chris de Almeida <ctcpip@users.noreply.github.com>
* ♻️ use spread, update supported ecmascript version
---------
Co-authored-by: Chris de Almeida <ctcpip@users.noreply.github.com>
* check status code is integer, or string integer, in range
* fix tests, update jsdoc comment for res.status
* throw if number is string
* narrow valid range to between 1xx and 5xx
* disambiguate the error message
* update skipped tests, remove invalid string test
* remove invalid float test
* fixup! remove invalid float test
* fix invalid range tests error assertions
* remove unused deprecate function
* add test to assert on 200.00 coming through as 200
this is the behavior of node's underlying HTTP module
* revert back to throwing only on > 999 and < 100
* update implementation for > 999
* add test for 700 status code
* update history with change
* update jsdoc
* clarify jsdoc comment
* one more round of jsdoc
* update 501 test
* add invalid status code test for res.sendStatus
* add test describe block for valid range
* fixup! add test describe block for valid range
* reduce the describe nesting
* switch to testing status 100, to avoid 100-continue behavior
* fix 900 test
* stringify code in thrown RangeError message
* remove accidentally duplicated res.status method
* fix error range message
Co-authored-by: Chris de Almeida <ctcpip@users.noreply.github.com>
* update sendStatus invalid code test to use sendStatus
---------
Co-authored-by: Chris de Almeida <ctcpip@users.noreply.github.com>
This PR moves us off of Appveyor for windows testing.
We are now doing windows/linux testing on GHA. With the exception of iojs, which we are only testing on Linux and have split out to it's own workflow.
We have also added npm-shrinkwrap.json to our gitignore, in order to not have to configure npm in CI to ignore it. If it's never checked in, it shouldn't exist in CI as you need to go out of your way to create it w/ npm.