Commit graph

243 commits

Author SHA1 Message Date
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