* patch axios for v8 snapshots
* export httpsAgent and httpAgent discretely
* set up axios interceptors for logging and error response transformation
* use unified error transform fn
* create instance api reqs, timeouts, tests
* move axios middleware to its own dir & refactor
* refactor error handling, enable retries in createInstance
* fix invocation of createInstance - not caught by ts because record.js is js
* retry on 500 - according to system test, this is expected behavior
* resolve snapshots, report retries to stdout
* fix cdp connection usage of shouldRetry due to newly unknown error type
* axios doesnt fully follow RequestOptions shape when adding request to https agent
* note why uri is treated as optional
* hail mary on getting axios to work with v8 snapshots
* update lockfile, force no-rewrite on more axios files
* attempt to fix v8 snapshots
* add verbose debugging to api request logging
* enable verbose api debugging on server unit tests
* fix nock pattern for createInstance
* remove request logging unit test - sinon/mocha does not assert correctly
* fix a few unit tests
* use runAllAsync rather than waiting an arbitrary time for sinon fake timer
* move create_instance spec to ts file, remove redundant test
* rm debug on ci
* clarify comment on change inpackages/network
* correct .uri property on patched RequestOptions to be optional
* rm unused log_requests.ts, DRY error messages
* resolve types with record.ts migration
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* fix: rethrow stalled network request error correctly
* no longer timeout from stream monitor on failure to start - allow OS to handle
* changelog
* fix system error detection
* fix test for system error throw
* Update cli/CHANGELOG.md
* Update packages/server/test/unit/cloud/network/put_fetch_spec.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* rm noop try-catch
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* WIP - system test snapshots
* bolster error output for response body potential on upload network errors
* edit error output for readability
* changelog
* Update packages/server/lib/cloud/artifacts/upload_artifacts.ts
Co-authored-by: Matt Schile <mschile@cypress.io>
* fix partial rename
* fix system test for single upload error vs aggregate
---------
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* custom async retry for any async fn
* "proxied" fetch for PUT, throwing http errors
* cleans up put_fetch return types & parsing
* move protocol upload logic to put_protocol_artifact, rm upload_stream
* changelog
* changelog
* manually fix wsp in snapshot
* reorganizes a little, properly tests retryable logic
* removes 408 as a non-retriable error in unit test
* make expectation to be resolved more clear
* rm unnecessary type coercion
* changelog
* Update cli/CHANGELOG.md
* asyncRetry only throws Aggregate errors if there is more than one attempt
* Update packages/server/test/unit/cloud/network/is_retryable_error_spec.ts
Co-authored-by: Matt Schile <mschile@cypress.io>
* Update packages/server/test/unit/cloud/network/is_retryable_error_spec.ts
---------
Co-authored-by: Matt Schile <mschile@cypress.io>