Files
cypress/packages/network
Bill Glesias 9cdb33b4c6 fix: same site cookie context and duplicate cookies (#23438)
* test: refactor and add tests in the cors package

* fix: add areUrlsSameSite method to cookies package and fix
sameSiteContext calculation method and add tests

* fix: always use Set-Cookie optimistically whether or not we keep track of the cookie or not in the server side cookie jar

* chore: add failing unit tests for postpending cookies

* chore: add tough cookie integration tests to verify we append cookies appropriately to request header Cookie

* fix: do not duplicate cookies in request if existing in the cookie jar. Add additional tests to verify expected behavior

* test: add cookie behavior tests that document current expected behavior vs what spec behavior should/will be

* test: add misc tests that check for cookie order

* chore: update debug logs in request to discern cookies

* test: fix assertions in firefox as same-site cookies are actually set correctly

* fix test incorrect assertions. cookies currently exist in primary that are same-site regardless of browser

* skip SameSite=none test in firefox as we currently low insecure samesite none cookies in firefox

* chore: apply suggestions from code review

* chore: change expects to expect

* chore: add documentation for why we need an additional HTTPS port

* remove X-Set-Cookie fixmes
2022-09-07 23:19:52 -04:00
..
2022-08-25 09:31:02 +10:00

network

This package contains networking-related classes and utilities.

Exports

You can see a list of the modules exported from this package in ./lib/index.ts. Here is a brief description of what's available:

  • agent is a HTTP/HTTPS agent with support for HTTP/HTTPS proxies and keepalive whenever possible
  • allowDestroy can be used to wrap a net.Server to add a .destroy() method
  • blocked is a utility for matching blocked globs
  • concatStream is a wrapper around concat-stream@1.6.2 that makes it always yield a Buffer
  • connect contains utilities for making network connections, including createRetryingSocket
  • cors contains utilities for Cross-Origin Resource Sharing
  • uri contains utilities for URL parsing and formatting

See the individual class files in ./lib for more information.

Building

Note: you should not ever need to build the .js files manually. @packages/ts provides require-time transpilation when in development.

yarn workspace @packages/network build-prod

Testing

Tests are located in ./test

To run tests:

yarn workspace @packages/network test
yarn workspace @packages/network test-watch
yarn workspace @packages/network test-debug