electron/shell/browser/net
marekharanczyk 507cbdc80a
fix: do not cancel CORS preflight request on proxy auth. (#29266)
* fix: do not cancel CORS preflight request on proxy auth.

If connecting via proxy, preflight request can receive 407
header response from proxy. This does not mean request
was finished even though it received headers (from proxy,
not the destination server), so prevent "completing"
and most importantly deleting it, which causes request
to be canceled in network layer. Just continue to monitor it
and await proper response from server. Also add circut breaker
to cancel request if proxy auth failed 3 times (for example
user keeps cancelling auth). This behavior happens only
when app registered WebRequest api listeners.

* Port chromium webrequest changes to electron code.

Move relevant parts of chromium WebRequestProxyingURLLoaderFactory from
https://chromium-review.googlesource.com/c/chromium/src/+/2011781
into electron ProxyingURLLoaderFactory.

* Update code to upstreamed version and remove retyr count failsafe.

Co-authored-by: Milan Burda <milan.burda@gmail.com>
2021-06-21 14:06:52 +09:00
..
asar chore: use =default for default constructors/destructors (#29511) 2021-06-04 13:16:13 +09:00
cert_verifier_client.cc chore: bump chromium to 93.0.4539.0 (main) (#29608) 2021-06-16 15:43:51 -07:00
cert_verifier_client.h chore: bump chromium to 93.0.4539.0 (main) (#29608) 2021-06-16 15:43:51 -07:00
electron_url_loader_factory.cc chore: use HTTP method constants (#29650) 2021-06-14 11:04:36 +09:00
electron_url_loader_factory.h chore: bump chromium to 92.0.4499.0 (master) (#29046) 2021-05-06 15:01:04 -07:00
network_context_service.cc chore: bump chromium to 93.0.4530.0 (master) (#29256) 2021-06-03 01:05:04 -07:00
network_context_service.h refactor: CertVerifier is not in the network namespace anymore 2021-03-05 15:08:38 -08:00
network_context_service_factory.cc chore: rename atom -> electron (#21986) 2020-02-04 12:19:40 -08:00
network_context_service_factory.h refactor: rename the atom namespace to electron 2019-06-19 17:33:28 -07:00
node_stream_loader.cc chore: fix typos in comments (#29362) 2021-05-27 11:48:03 -07:00
node_stream_loader.h chore: bump chromium to 93.0.4530.0 (master) (#29256) 2021-06-03 01:05:04 -07:00
proxying_url_loader_factory.cc fix: do not cancel CORS preflight request on proxy auth. (#29266) 2021-06-21 14:06:52 +09:00
proxying_url_loader_factory.h chore: use consistent integer type for request ID (#29540) 2021-06-14 21:01:36 +09:00
proxying_websocket.cc chore: bump chromium to 93.0.4530.0 (master) (#29256) 2021-06-03 01:05:04 -07:00
proxying_websocket.h chore: bump chromium to 93.0.4530.0 (master) (#29256) 2021-06-03 01:05:04 -07:00
resolve_proxy_helper.cc chore: bump chromium to 93.0.4530.0 (master) (#29256) 2021-06-03 01:05:04 -07:00
resolve_proxy_helper.h chore: bump chromium to 93.0.4530.0 (master) (#29256) 2021-06-03 01:05:04 -07:00
system_network_context_manager.cc refactor: use PathProvider for user-data-dir and others (#29649) 2021-06-15 09:32:56 +09:00
system_network_context_manager.h chore: bump chromium to 93.0.4530.0 (master) (#29256) 2021-06-03 01:05:04 -07:00
url_pipe_loader.cc fix: copy received data in URLPipeLoader to prevent corruption (#29567) 2021-06-14 10:18:52 +09:00
url_pipe_loader.h chore: bump chromium to 93.0.4530.0 (master) (#29256) 2021-06-03 01:05:04 -07:00
web_request_api_interface.h chore: bump chromium to 1a093e6a0cb5e72ba78990fe39824 (master) (#24575) 2020-07-21 22:34:34 -07:00