Commit graph

341 commits

Author SHA1 Message Date
Haojian Wu
1b9780035c Remove redundant calls to smart pointer's get method. 2017-03-30 22:22:40 +02:00
Kevin Sawicki
4441d557a2 Merge pull request #9007 from electron/net_redirect_patch
net: allow controlling redirects
2017-03-28 09:31:05 -07:00
deepak1556
3ae62615f4 net: allow controlling redirects 2017-03-28 18:46:21 +05:30
deepak1556
93b444eef9 net: catch source stream creation failure for content encoding 2017-03-23 23:36:05 +05:30
Kevin Sawicki
1e581d6814 Use unique_ptr for passing VerifyRequestParams 2017-02-08 11:59:43 -08:00
Kevin Sawicki
70178adb6e Use object for verification request 2017-02-08 11:59:43 -08:00
Kevin Sawicki
37db804099 Use NetLogWithSource since BoundNetLog no longer exists 2017-02-08 11:59:43 -08:00
Greg Nolle
e29b64a18a modify CertVerifier Class
* respond to multiple similar verification requests.
* accept net error result as callback response.
2017-02-08 11:59:43 -08:00
Cheng Zhao
6763977316 Update URLPattern to its latest version 2017-02-06 10:34:29 -08:00
Cheng Zhao
53bf82dd7c Update URLRequestFetchJob 2017-02-06 10:34:29 -08:00
Cheng Zhao
47c1bc9f66 Update ResponsePiper 2017-02-06 10:34:29 -08:00
Cheng Zhao
1a15b45736 --cipher-suite-blacklist is also removed 2017-02-06 10:34:29 -08:00
Cheng Zhao
dc9000f344 --ssl-version-fallback-min is removed by Chrome 2017-02-06 10:34:28 -08:00
Cheng Zhao
3ea6d88763 Update AtomCertVerifier 2017-02-06 10:34:28 -08:00
Cheng Zhao
c0697d8abe SetupFilter is replaced with SetUpSourceStream 2017-02-06 10:34:28 -08:00
Cheng Zhao
e91eed6758 FOR_EACH_OBSERVER is removed 2017-02-06 10:34:28 -08:00
Cheng Zhao
231173aa90 Namespace of ChangeCause has changed 2017-02-06 10:34:28 -08:00
Cheng Zhao
497f5a1199 Update files for Chrome 54 API changes 2017-01-19 09:05:59 +02:00
deepak1556
f9417e3fcc net: disallow cookies from the cookie store 2016-12-21 11:54:48 +05:30
Kevin Sawicki
f2aabeefd5 Merge pull request #8085 from deepak1556/protocol_http_session_patch
protocol: support custom session with interceptHttpProtocol
2016-12-12 13:07:14 -08:00
deepak1556
7456b9ae17 net: add api to set request flags for testing 2016-12-09 09:54:30 -08:00
deepak1556
388b601503 URLRequestFetchJob should report start error 2016-12-07 16:34:28 +05:30
deepak1556
2b8b76a527 protocol: support custom session with interceptHttpProtocol 2016-12-07 16:22:34 +05:30
deepak1556
a0065e62fa add about: protocol handler 2016-11-09 13:22:58 +05:30
Cheng Zhao
dfefa00a50 Merge pull request #7577 from thomsonreuters/net_module
net module
2016-10-31 10:31:56 +09:00
ali.ibrahim
6d7f179a9b Fixing code review issues: making delegate_ a raw pointer. 2016-10-25 15:02:35 +02:00
ali.ibrahim
61278f9ace Fixing code review issues. 2016-10-25 12:41:01 +02:00
deepak1556
5cbbd6efe6 session: exclude hosts from CT verification if they are handled by custom cert verifiers 2016-10-17 16:35:28 +05:30
ali.ibrahim
ac9e6eda95 Fixing a crash with pending URLRequests on shutdown. 2016-10-14 17:37:39 +02:00
ali.ibrahim
4347ce4a53 Formatting C++ code using ClangFormat. 2016-10-14 11:50:47 +02:00
ali.ibrahim
9cc8bfae1c fixing space formatting issues. 2016-10-14 10:58:16 +02:00
ali.ibrahim
de29f2dde5 Fixing build: removing constness on net::HttpResponseHeaders as otherwise we would need a change in libchromiumcontent. 2016-10-13 17:51:19 +02:00
ali.ibrahim
6f5b0a28c5 Fixing code review issues: function call formatting, renaming JS member variables, refactoring response headers conversion. 2016-10-13 17:14:23 +02:00
ali.ibrahim
b290415bbd Fixing build on Mac OS 2016-10-12 19:41:13 +02:00
ali.ibrahim
e472d11761 Caching response headers so that AtomURLRequest can be freed after the close event. 2016-10-12 14:54:25 +02:00
ali.ibrahim
ec1fc5a17b Implementing error, close, finish, abort events management. 2016-10-12 14:54:24 +02:00
ali.ibrahim
bde30b90e8 Adding some implementation comments. Enforcing Chromium coding conventions. 2016-10-12 14:54:23 +02:00
ali.ibrahim
0588435882 Fixing cpplint issues. 2016-10-12 14:54:22 +02:00
ali.ibrahim
08947682b0 Implementing abort workflow, emitting error events. 2016-10-12 14:54:21 +02:00
ali.ibrahim
cbbc4376ca Adding support for upload chunked encoding. 2016-10-12 14:54:20 +02:00
ali.ibrahim
9498a5738a Refactoring net module, adding a ClientRequest and IncomingMessage classes. 2016-10-12 14:54:20 +02:00
ali.ibrahim
fcaf9cb031 Some code cleaning. 2016-10-12 14:54:19 +02:00
ali.ibrahim
f7525d7877 Adding support for POST requests. 2016-10-12 14:54:18 +02:00
ali.ibrahim
2b3b41d5f9 Implementing authentication callback. 2016-10-12 14:54:18 +02:00
ali.ibrahim
2d9d4af98d Implementing URLRequest API, getting response body. 2016-10-12 14:54:17 +02:00
ali.ibrahim
81eab9887b Adding URLResponse to emit response events, implementing status code. 2016-10-12 14:54:16 +02:00
ali.ibrahim
7521aeea09 Implement URLRequest::Delegate, handle thread sync. 2016-10-12 14:54:15 +02:00
Kevin Sawicki
24bcf6ac16 Add initial cookie changed event support 2016-09-29 09:16:29 -07:00
Cheng Zhao
f28e8d7168 Fix API changes of Chrome 53 2016-09-14 16:22:43 +09:00
deepak1556
bd291b9601 protocol: respect range header when reading from asar 2016-09-08 10:14:49 +05:30
Kevin Sawicki
6285500cdc Sort includes alphabetically 2016-08-26 15:30:02 -07:00
bridiver
ca4cbe34a0 don't convert header names to nested values
fixes #6855
2016-08-15 17:21:14 -07:00
Cheng Zhao
b57665330c Merge branch 'master' into chrome52 2016-07-21 05:34:36 -06:00
Cheng Zhao
e5ccb3fd5d Remove lock in AtomCertVerifier 2016-07-13 12:07:57 +09:00
Haojian Wu
04f9d35312 Modernize to C++11: Use auto key to improve code readability and maintainability. 2016-07-10 13:11:47 +02:00
Haojian Wu
fab02809c6 Modernize to C++11: NULL => nullptr.
No functional change.
2016-07-10 11:57:04 +02:00
Cheng Zhao
627028e3a0 Clear protocol handlers on exit 2016-07-09 17:02:55 +09:00
Cheng Zhao
1ba3907038 Update to API changes of Chrome 52 2016-07-04 15:32:43 +09:00
Cheng Zhao
fe0e17d1c3 Make api::Protocol thread safe 2016-06-16 11:09:52 +09:00
deepak1556
0e0235407b fill net::URLRequest details on IO thread 2016-06-09 10:39:18 +05:30
Cheng Zhao
f02143b8f2 Clear the buffers before notifying the other end of the pipe 2016-05-30 22:38:01 +09:00
Cheng Zhao
49f1278601 Refactor the URLRequestFetchJob code
This makes the read end and write end of the pipe have same logic, so it
is more easy to maintain.
2016-05-30 20:31:00 +09:00
Cheng Zhao
912cedc593 Merge pull request #5753 from deepak1556/url_request_fetch_job_patch
protocol: store initial response data for when resource loader becomes ready
2016-05-30 10:53:53 +00:00
deepak1556
23fbb57d72 protocol: store response data when reader is not ready 2016-05-29 13:17:31 +05:30
Cheng Zhao
f4fe60d126 Set default mimeType for BufferJob 2016-05-28 22:36:22 +09:00
Cheng Zhao
06800940ec Fix cpplint warnings 2016-05-23 13:03:43 +09:00
Cheng Zhao
7ba391da7c Update to API changes of Chrome 51 2016-05-23 10:59:39 +09:00
Brian R. Bondy
ff91aeb5d4 Iterator to use size_t 2016-05-13 11:07:17 +09:00
Cheng Zhao
18f5fcde60 Fix some coding style issues 2016-04-20 09:18:50 +09:00
deepak1556
ddf962c6ea client_id is accessed on different threads 2016-04-19 10:01:38 +05:30
deepak1556
b8e04f4947 set client id on AtomNetworkDelegate instead of cmd line switch 2016-04-18 11:35:24 +05:30
deepak1556
fcf04377d7 set network emulation client id in request headers 2016-04-18 10:49:00 +05:30
Cheng Zhao
a07612c1ed Merge branch '5074-did-get-response-details-resource-type' of https://github.com/Mr0grog/electron into Mr0grog-5074-did-get-response-details-resource-type 2016-04-11 21:05:40 +09:00
Rob Brackett
1a842bf9d5 Fix trailing whitespace caught by linter. 2016-04-08 13:15:40 -07:00
Rob Brackett
c1b1348735 Add resourceType arg to webContents did-get-response-details event.
Fixes #5074 and follows @zcbenz's recommendation to expose ResourceTypeToString from atom_network_delegate publicly.
Also adds testing for other arguments to the `did-get-response-details` events, since there were no existing tests for them.
2016-04-08 11:19:36 -07:00
deepak1556
3fb39ad3ef provide option to override status line 2016-04-08 14:03:57 +05:30
deepak1556
4fc35a4587 session: webRequest.OnHeadersReceived should follow server redirect
Its required to follow server redirects.
2016-04-08 11:40:43 +05:30
deepak1556
73201e419d protocol: return status of ReadRawData instead of relying on SetStatus 2016-03-28 02:09:56 +05:30
Cheng Zhao
89f17e0baf Create complete URLRequestContextGetter for URLRequestFetchJob
The trivial one is causing crashes.
2016-03-10 17:06:23 +09:00
Cheng Zhao
dd4d3db47b Fix node integration not working 2016-03-10 17:06:21 +09:00
Cheng Zhao
a31cbd24a1 Final pieces of int16 and .Pass() 2016-03-10 17:06:21 +09:00
Cheng Zhao
5fae63a2f5 Fix compilation errors on OS X 2016-03-10 17:06:21 +09:00
Robo
dc0151099c session: provide uploadData with webrequest api when available 2016-01-27 18:39:40 +05:30
Cheng Zhao
89fccb7eb2 Fix crash when request failed 2016-01-06 21:07:07 +08:00
Cheng Zhao
e96f89133c Reset whole headers when requestHeaders is set 2015-12-24 16:59:13 +08:00
Cheng Zhao
3e1edfc9d0 Cancel callback in OnComplete event 2015-12-23 10:20:59 +08:00
Cheng Zhao
c8c4381085 Cancel callback when URLRequest is destroyed 2015-12-22 23:35:23 +08:00
Cheng Zhao
9438d42322 Use generic function to handle events 2015-12-12 13:49:58 +08:00
Cheng Zhao
f976e1eda3 Add generic version for FillDetailsObject 2015-12-12 13:20:53 +08:00
Cheng Zhao
d3e723557e spec: Add test cases for webRequest 2015-12-12 11:31:19 +08:00
Cheng Zhao
fed94aada0 Make the webRequest listener asynchronous 2015-12-12 00:09:03 +08:00
Cheng Zhao
d3c8363450 EventType can not be OR'ed 2015-12-11 21:22:23 +08:00
Cheng Zhao
15cc8164b8 Use lower case for getters 2015-12-11 21:21:02 +08:00
Cheng Zhao
67886cf513 Parse filters in API code 2015-12-11 21:14:13 +08:00
Cheng Zhao
79a627014c Unify how listeners are handled 2015-12-11 21:02:44 +08:00
Cheng Zhao
9d406b695f Simpily the code that fills |details| 2015-12-11 20:40:39 +08:00
Cheng Zhao
e295eb0de7 Fix memory leak 2015-12-11 20:11:59 +08:00
Cheng Zhao
467e3b25b2 EvenTypes => EventType 2015-12-11 20:11:22 +08:00
Cheng Zhao
62f4b25cf9 Allow passing null to webRequest 2015-12-11 19:13:56 +08:00
Cheng Zhao
98ba1a24db Merge pull request #3640 from deepak1556/webrequest_api_patch
session: add webrequest api
2015-12-11 16:56:00 +08:00
Robo
658accab94 fix pointer usage 2015-12-11 00:25:25 +05:30
Cheng Zhao
a05aa81570 Merge pull request #3701 from deepak1556/protocol_post_data_patch
protocol: provide upload data when available
2015-12-10 19:38:35 +08:00
Robo
461ee49988 fix response headers modification 2015-12-09 20:14:18 +05:30
Robo
c5b5bbbeb2 add documentation 2015-12-09 20:14:18 +05:30
Robo
29f32c5ec7 support filtering event with url regex 2015-12-09 20:14:18 +05:30
Robo
13b5cab738 session: add webrequest api 2015-12-09 20:14:18 +05:30
deepak1556
fbb5091f94 provide option to set content for POST request with url_fetcher 2015-12-09 20:10:57 +05:30
Robo
855d49100f protocol: api to register schemes that can handle service worker 2015-12-09 03:11:58 +05:30
Cheng Zhao
73e7773d84 Update to API changes of Chrome 47 2015-12-07 19:56:23 +08:00
Cheng Zhao
0f17a0163d Put common constants in atom_constants 2015-12-01 16:21:15 +08:00
Paul Betts
7fd1db192b Lint harder 2015-11-30 18:12:00 -08:00
Paul Betts
549da7fd91 Linting 2015-11-30 11:10:18 -08:00
Paul Betts
7cce3987eb Add CORS header to file jobs 2015-11-30 11:08:45 -08:00
Paul Betts
65cb1488b0 Fix CORS header code to be cleaner 2015-11-30 11:08:44 -08:00
Paul Betts
7622bb40a9 Enable all origins via CORS header for custom schemes
This PR disables CORS for custom schemes, which allows you to serve Font
resources from custom schemes after using registerCustomSchemeAsSecure
2015-11-30 11:08:43 -08:00
Robo
167f11e797 protocol: handle http responses with no content 2015-11-23 01:07:14 +05:30
Cheng Zhao
c5bfac1969 Add session.setCertificateVerifyProc 2015-11-18 11:17:08 +08:00
Cheng Zhao
ebe66daa56 Emit verify-certificate only when default verifier fails 2015-11-17 21:36:36 +08:00
Cheng Zhao
e3517b701e Create a new CertVerifierRequest for each request
It greatly simplifies the code.
2015-11-17 19:44:55 +08:00
Cheng Zhao
ea1e4160ea Move AtomSSLConfigService to atom/browser/net 2015-11-17 19:05:38 +08:00
Cheng Zhao
37f355724a Move AtomCertVerifier to atom/browser/net 2015-11-17 19:03:09 +08:00
Cheng Zhao
fbb8e61958 Replace "Url" in API names with "URL" 2015-11-13 16:03:40 +08:00
Cheng Zhao
f40a3f72d7 Converted callback can only be called for once 2015-10-28 20:44:46 +08:00
Cheng Zhao
9847747736 Use the callback converter in JsAsker 2015-10-28 19:54:59 +08:00
Robo
57c910faef protocol: respect provided mimetype in generated response headers 2015-09-16 08:34:04 +05:30
Cheng Zhao
93bbc0bca9 Don't reference RequestContextGetter in JS objects
V8 doesn't guarrentee the C++ class of JS objects will get destroyed, so
this will result in RequestContextGetter never getting freed
2015-09-09 19:27:28 +08:00
Cheng Zhao
53b9d61831 Fix building on Windows 2015-09-03 20:07:29 +08:00
Cheng Zhao
45491ca7ab Fix API changes 2015-09-03 17:50:23 +09:00
Cheng Zhao
a88f951b2f Always set headers for response
When intercepting HTTP protocols Chromium will assume there is always headers
set, so we have to provide headers for all the responses to avoid the
crash.
2015-08-13 22:26:27 +08:00
Cheng Zhao
02714d466c Fix crash when requesting invalid url 2015-08-13 21:21:23 +08:00
Cheng Zhao
d0ef43bd12 Completion callback is called on IO thread 2015-08-12 23:16:17 +08:00
Cheng Zhao
78171e2072 Don't use C++11 to not crash VS 2015-08-12 23:14:20 +08:00
Cheng Zhao
94c1fb32a7 Try work around VS's bug 2015-08-12 23:07:15 +08:00
Cheng Zhao
d9b845fcdf Make session parameter work with null value 2015-08-12 22:57:25 +08:00
Cheng Zhao
225321b580 Make the completion callback optional 2015-08-12 21:32:52 +08:00
Cheng Zhao
f493eb34ae Implement protocol.registerHttpProtocol 2015-08-12 21:09:44 +08:00
Cheng Zhao
1f2d7d1cd8 Implement protocol.registerBufferProtocol 2015-08-12 20:37:52 +08:00
Cheng Zhao
d2681d2ba1 Implement protocol.registerFileProtocol 2015-08-12 15:22:19 +08:00
Cheng Zhao
337460cdc2 Enable return error for arbitray request job 2015-08-12 13:50:31 +08:00
Cheng Zhao
ee51e37db7 Guard against callback being called twice 2015-08-12 13:43:27 +08:00
Cheng Zhao
96d53d279e Initial implementation of new protocol API 2015-08-12 13:30:19 +08:00
Haojian Wu
f9fee9174a net::URLFetcher::Create now returns object with scoped_ptr. 2015-08-11 09:48:55 +08:00
Cheng Zhao
0644129fbe Pass net::URLRequestContextGetter in scoped_refptr 2015-08-10 15:28:18 +08:00
Robo
b0e73532de protocol: fix request headers in urlRequestFetchJob 2015-07-27 02:51:41 +05:30
Robo
97c90d31d3 get jsprotocolhandler in IO thread 2015-07-22 21:54:12 +05:30
Robo
a1ec07e07e read post-filtered data when filters are present 2015-07-22 21:45:08 +05:30
Robo
58f1907579 protocol: copy headers from original request for custom request job 2015-07-22 13:54:39 +05:30
Robo
57244e4718 use request context from session if provided 2015-07-16 20:18:33 +05:30
Robo
8eb87c5d2b protocol: create separate request context for fetch job 2015-07-16 20:18:33 +05:30
Robo
da00329d78 protocol: cleanup 2015-07-09 14:48:58 +05:30
Cheng Zhao
923296b4ee Use the BrowserContext from protocol 2015-06-18 17:18:11 +08:00
Cheng Zhao
c2aa7d538f Fix cpplint warnings 2015-06-17 11:34:47 +08:00
Cheng Zhao
92f3371118 Use |request|'s headers if possible 2015-06-17 11:30:31 +08:00
Cheng Zhao
543c4d5597 Allow setting referrer 2015-06-17 11:22:02 +08:00
Cheng Zhao
e07f5cd53f Use |request|'s method if |method| is not specified 2015-06-17 11:11:13 +08:00
Cheng Zhao
66c4c7e77b Clear pending_buffer_ at correct time 2015-06-17 11:04:15 +08:00
Cheng Zhao
274854876c Allow setting method for RequestHttpJob 2015-06-17 10:57:26 +08:00
Cheng Zhao
81db8e098e Don't need buffer for piping data 2015-06-17 10:19:58 +08:00
Cheng Zhao
af05f26a5f Make URLRequestFetchJob actually work 2015-06-17 09:31:33 +08:00
Cheng Zhao
44f8bfc550 Don't leak URLFetcher 2015-06-16 17:09:25 +08:00
deepak1556
a5e2f8e79e protocol: adding requestHttpJob method 2015-06-15 03:20:45 +05:30
Cheng Zhao
b202bba2e6 Don't read Buffer in IO thread 2015-05-22 22:15:13 +08:00
Cheng Zhao
4129d45d21 Merge pull request #1596 from deepak1556/protocol_interceptor_patch
protocol: wrapping HttpJobFactory with a default protocol handler to intercept
2015-05-20 11:52:52 +08:00
deepak1556
707503ac40 support https, ws, wss builtin schemes to be intercepted 2015-05-11 12:56:36 +05:30
deepak1556
7fee639edf protocol: wrapping httpjobfactory with a default protocol handler to intercept 2015-05-11 12:32:17 +05:30
deepak1556
9ab53b0e4b protocol: adding error job to log error with custom protocols 2015-05-11 10:17:31 +05:30
Cheng Zhao
b5a8cfb704 Recognize asar archive with unpacked files 2015-03-20 20:34:58 +08:00
deepak1556
9eac8ef266 add protocol.RequestBuffer api 2015-03-19 09:36:57 +05:30
Cheng Zhao
c9b549ae69 Fix styling of #1199 2015-03-05 12:31:45 -08:00
Robo
2ce42af6e4 read files from asar archives in custom protocol 2015-03-05 09:26:34 +05:30
Cheng Zhao
98a7f08be2 Move GetAsarArchivePath to asar_util.h 2015-02-12 17:31:14 +08:00
Cheng Zhao
3b3a025ed4 Move GetsOrCreateAsarArchive to asar_util.h 2015-02-12 17:23:49 +08:00
Cheng Zhao
9a5698807f Update to latest URLRequestJobFactory API 2015-01-27 13:18:31 -08:00
Cheng Zhao
43421aedcf OVERRIDE macro is now removed 2015-01-27 13:18:30 -08:00
Cheng Zhao
10823eeeaa Fix compilation errors caused by Chrome 39 2014-12-07 07:43:26 -08:00
Kevin Sawicki
b6b6fc3bfd Remove All Rights Reserved after GitHub copyright
Closes #762
2014-10-31 11:17:05 -07:00
Cheng Zhao
32dff999a5 Fix API changes of Chrome 38 2014-10-11 19:11:34 +08:00
Cheng Zhao
c49a44f944 Remove unneeded ArchiveFactory. 2014-09-25 21:54:59 +08:00
Cheng Zhao
4006b6407c Just use plain pointer for weak reference. 2014-09-25 20:38:12 +08:00
Cheng Zhao
7081f7799b Separate the archive cache out to ArchiveFactory. 2014-09-23 22:31:45 +08:00
Cheng Zhao
b6583635d4 Caching the Archive object. 2014-09-23 21:48:40 +08:00
Cheng Zhao
b01db4aa09 Send file content in asar:// 2014-09-23 20:30:07 +08:00
Cheng Zhao
6d712da7e3 Read the archive's header when there is a url request 2014-09-23 19:14:30 +08:00
Cheng Zhao
9b71117171 Add asar:// protocol handler. 2014-09-23 12:13:46 +08:00
Cheng Zhao
226cbda7a6 Avoid creating our own URLRequestContextGetter. 2014-08-13 17:40:31 +08:00
Cheng Zhao
cd4c5d976b Adapt to API changes of Chromium and node. 2014-06-28 22:33:00 +08:00
Cheng Zhao
f176b2c58f Switch to use MIT license. 2014-05-04 20:29:08 +08:00
Cheng Zhao
b6ac06c022 Order header files. 2014-03-16 09:37:04 +08:00
Cheng Zhao
2d808d30a2 Bring back build/include_order cpplint. 2014-03-16 09:13:06 +08:00
Cheng Zhao
bbef33a33a Bring back build/header_guard cpplint. 2014-03-16 08:58:59 +08:00
Cheng Zhao
516d46444d Move all sources under atom/. 2014-03-16 08:30:26 +08:00