Commit Graph

63 Commits

Author SHA1 Message Date
Chocobo1
cbf7c09bf4 Use built-in method for setting header
PR #21961.
2024-12-08 16:33:35 +08:00
sledgehammer999
6981217369 Don't ignore SSL errors 2024-10-04 22:48:46 +03:00
Chocobo1
a126a7b493 Adjust user agent version automatically
The version calculation is an estimation and it will drift off after some time. Hopefully the
drift offset won't be noticeable within a few years.

Also switched the user agent to Windows 10 which has the largest portion of users to avoid
standing out from the crowd.

PR #20864.
2024-05-20 13:50:18 +08:00
cayenne17
21a4ab6bac Update User-Agent
PR #20801.
2024-05-10 21:47:55 +03:00
jNullj
c5d7b62473 Delay subsequent requests to the same host
PR #19801.
Closes #8350.
2024-01-19 20:38:16 +03:00
Vladimir Golovnev
97c0abcbf0 Improve Download Manager subsystem
PR #20257.
2024-01-13 08:55:40 +03:00
Vladimir Golovnev
75c638e2f8 Add timeouts to network requests
PR #19947.
2023-11-18 09:55:33 +03:00
Chocobo1
d6adebe4c0 Switch to efficient algorithm 2023-07-22 04:11:39 +08:00
Chocobo1
0f862fcf9f Use efficient algorithm for removing entries
PR #19345.
2023-07-21 12:18:26 +08:00
Vladimir Golovnev
dbe79484d2 Drop support of Qt 5
Also remove usage of some deprecated stuff.

PR #19338.
2023-07-20 11:17:27 +03:00
Vladimir Golovnev
7ec80263e1 Allow to globally disable the use of proxy
PR #19273.
Closes #19141.
2023-07-04 09:27:46 +03:00
Chocobo1
e408973ee6 Add pointer qualifications to auto-typed variables 2023-05-06 16:35:13 +08:00
Vladimir Golovnev
b922441a7c Correctly handle redirections
PR #18771.
Fixes regression introduced by #18528.
Closes #18764.
2023-03-28 06:26:40 +03:00
Vladimir Golovnev
37c04fdeed Prevent possible problem of using incomplete type
PR #18639.
2023-03-02 06:18:51 +03:00
Vladimir Golovnev (Glassez)
96da685e5d Expand the scope of "Proxy hostname lookup" option 2023-02-26 14:27:59 +03:00
Vladimir Golovnev (Glassez)
6ac14d0c57 Allow to use proxy per subsystem 2023-02-26 14:27:41 +03:00
Vladimir Golovnev (Glassez)
4745a40f0b Allow to specify proxy option per request 2023-02-25 17:30:26 +03:00
Chocobo1
93429840c8 Fix typos 2022-11-08 13:50:01 +08:00
brvphoenix
b98e7cb69f Fix reply data can't be decompressed correctly
If the "Accept-Encoding" is not manually specified, it will be
automatically set to the supported encodings by QT and the reply data
will also be automatically decompressed in this case. Setting
"Accept-Encoding" manually will disable the "autodecompress" feature
before QT 6.3.0. Although QT 6.3.x has different behaviors, let QT
specify the "Accept-Encoding" and we will always obtain the decompressed
data.

The macro "QT_NO_COMPRESS" defined when QT is compiled will disable
the zlib support. We can manually address this exceptions.

PR #17438.
2022-07-29 11:03:21 +08:00
Chocobo1
4ca6de2b54 Revise string literal usage
PR #16703.
2022-03-26 11:53:50 +08:00
Chocobo1
154ee1a73e Use hashing helpers provided by Qt6 2022-03-13 17:37:54 +08:00
Chocobo1
926d51839f Update function signature for Qt6 qHash()
Since the `qhash()` signature has changed in Qt6.
2022-03-13 16:05:11 +08:00
Chocobo1
f0dd7b7dae Use QString literals
This patch covers src/app and src/base folders.
Follow up of ab64ee872b.
2022-03-11 00:11:30 +08:00
Vladimir Golovnev
dd1bd8ad10 Implement class for handling filesystem paths
PR #15915.
2022-02-08 06:03:48 +03:00
jagannatharjun
8b5db328ec Add DownloadRequest::destFileName 2021-09-04 12:02:38 +05:30
Vladimir Golovnev (Glassez)
c41df9ffbd Improve coding style 2020-11-17 21:02:37 +03:00
Vladimir Golovnev (Glassez)
a8c333ff25 Drop "private" subfolders
"private" subfolders violate the structure of the project,
since the existence of all other subfolders is based on a
different principle.
In addition, there is no clear line between "private" and
"non private".
2020-05-08 14:59:18 +03:00
Chocobo1
d3d3f7dbb3 Add final specifier to classes
This allow compilers to generate more efficient code.
2020-04-17 13:18:40 +08:00
Vladimir Golovnev (Glassez)
8bb34482ea Handle HTTP redirections manually
Qt doesn't support Magnet protocol so we need to handle all redirections
manually to allow redirections to Magnet URIs.
2020-02-11 09:31:42 +03:00
NotTsunami
6748e8d787 Remove redundant null checks
Attempting to delete a null pointer is a noop in C++.

Closes #2864.

[1] https://isocpp.org/wiki/faq/freestore-mgmt#delete-handles-null
2020-02-03 16:38:51 -05:00
Chocobo1
5905c085c6 Use systematic approach to generate hash
The basic idea is to hash each class member and then mix them with xor
operation.
However the `seed` must be handled with care, it should only be
introduced once when mixing the hashes of each class member, otherwise
under some circumstances the `seed` might xor with itself and thus break
the intended effect.
2020-01-27 18:14:27 +08:00
Chocobo1
d936bca268 Move DownloadHandlerImpl class to its own file
This also resolves lupdate warning.
2019-11-11 19:41:10 +08:00
Vladimir Golovnev (Glassez)
73ef69526d Allow to cancel download request 2019-09-14 11:31:07 +03:00
Chocobo1
6ac36368cd Update user agent string 2019-08-09 13:12:11 +08:00
Vladimir Golovnev (Glassez)
05fd0b5859 Fix sequential downloading when redirected 2019-05-29 15:50:02 +03:00
Vladimir Golovnev (Glassez)
4ee6a0ba29 Use Qt-provided HTTP redirection handling 2019-03-08 13:06:42 +03:00
Vladimir Golovnev (Glassez)
746916a963 Use DownloadHandler behind the scenes 2019-03-08 13:00:37 +03:00
Vladimir Golovnev (Glassez)
6cb15706f5 Reduce number of DownloadManager signals 2019-03-05 11:28:29 +03:00
thalieht
77aea3c59e Add const to a few pointer arguments 2019-02-25 17:05:15 +02:00
thalieht
70f1537d9f Add const to almost all remaining vars and arguments that qualify 2019-02-25 17:05:15 +02:00
Chocobo1
409557ef30 Clean up code 2019-02-15 19:47:06 +08:00
Chocobo1
313a95bdd1 Log DownloadManager SSL errors 2019-02-13 20:09:08 +08:00
Chocobo1
2b903fc3d1 Move Utils::Misc::isUrl() function
All usage of this function gets to call Net::DownloadManager eventually.
2018-12-31 20:00:15 +08:00
thalieht
1f36b8b89f Combine qAsConst() with copyAsConst() to asConst() 2018-11-28 23:41:23 +02:00
thalieht
6b1d26d555 Convert all foreach() to range-based for() 2018-11-28 23:40:12 +02:00
thalieht
94613c2fa2 Fix some warnings 2018-09-07 19:40:08 +03:00
Vladimir Golovnev (Glassez)
f7c252886f Apply proxy settings on DownloadManager creation 2018-07-13 13:18:57 +03:00
Vladimir Golovnev (Glassez)
112a9bcfa2 Use new DownloadManager interface 2018-06-29 15:48:17 +03:00
Vladimir Golovnev (Glassez)
8d438e159c Implement "Sequential downloading" feature
Closes #6835.
2018-06-29 15:48:02 +03:00
Vladimir Golovnev (Glassez)
a9a6b74416 Implement DownloadRequest helper 2018-06-29 12:18:56 +03:00