mirror of
https://github.com/cypress-io/cypress.git
synced 2026-02-09 08:40:32 -06:00
* chore: update tough-cookie from 4.0.0 to 4.1.3. requires v8 snapshot update * fix: tough-cookie as of 4.1 doesn't default sameSite undefined to none any longer. However, we want to set sameSite === undefined to lax as the default as this is the case in every standard browser, except firefox. We did this previously and this is behavior we want to continue to preserve, even for security reasons * chore: update v8 snapshots * fix issue with global toString * chore: run ci * chore: update @cypress/request to 2.88.22 and @cypress/request-promise to 4.2.7 [run ci] * remove jsdom and start-server-and-test * revert @cypress/request back to 2.88.12 * update changelog entry * remove uneeded deps --------- Co-authored-by: Bill Glesias <bglesias@gmail.com> Co-authored-by: Ryan Manuel <ryanm@cypress.io>
proxy
This package contains the code for Cypress's HTTP interception proxy.
HTTP interception
./lib/http contains the code that intercepts HTTP requests. The bulk of the proxy's behavior is in three files:
request-middleware.tscontains code that manipulates HTTP requests from the browserresponse-middleware.tscontains code that manipulates HTTP responses to the browsererror-middleware.tshandles errors that occur in the request/response cycle
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/proxy build-prod
Testing
Tests are located in ./test
To run tests:
yarn workspace @packages/proxy test
Additionally, the server package contains tests that use the proxy.
Debug Logs
High level logs are available in the DEBUG=cypress:proxy:* namespace.
Detailed per-request logs are available in DEBUG=cypress-verbose:proxy:http.