Chocobo1
7a2bfae5e4
Improve connection handling
...
1. Previously unhandled connections will stay in pending state. It won't
be closed until timeout happened. This may lead to wasting system
resources. Now the (over-limit) connection is actively rejected.
2. When out-of-memory occurs here, reject the new connection instead of
throwing exception and crash.
3. Also clean up some unused bits.
PR #20961 .
2024-06-20 12:13:27 +08:00
Vladimir Golovnev
10ee1ab7a2
Switch to C++20
...
PR #19336 .
2023-07-21 15:38:49 +03:00
Chocobo1
543745b3f2
Avoid stuffing the log via junk requests
2023-07-09 21:23:09 +08:00
Chocobo1
cb0c09769f
Response proper error status for invalid request methods
2023-07-09 21:23:09 +08:00
Chocobo1
e8f5a3b44e
Fix response for HTTP HEAD method
...
Closes #19288 .
2023-07-09 21:23:08 +08:00
Chocobo1
03d3552ee0
Avoid unnecessary memory allocation/relocation
2023-06-23 14:49:22 +08:00
Chocobo1
e6d85a468b
Rename literal operator
...
Qt 6.4 introduced `QString operator""_s()` and the previous `""_qs` is
deprecated since Qt 6.8.
2023-06-18 03:32:44 +08:00
Chocobo1
dba711d099
Use helper function for logging messages
2022-07-07 12:17:52 +08:00
Chocobo1
4ca6de2b54
Revise string literal usage
...
PR #16703 .
2022-03-26 11:53:50 +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
Chocobo1
aedd997604
Don't expire connection when there are data in buffer
...
For writing, this ensures expire handler won't be executed in a small
time window, that is after `m_socket->write()` and before
`QIODevice::bytesWritten()` signal.
For reading, this let the socket to have the chance to process the
received data instead of dropping it.
PR #15849 .
2021-12-18 12:28:30 +08:00
Chocobo1
ece92a886a
Restart idle timer on sending network response
2021-12-14 13:52:33 +08:00
Vladimir Golovnev (Glassez)
399d3ad85a
Replace QStringRef with QStringView
2021-07-15 10:56:49 +03:00
Vladimir Golovnev (Glassez)
97c7f3bc67
Raise minimum Qt version to 5.14
2021-06-03 08:56:41 +03:00
Vladimir Golovnev (Glassez)
c41df9ffbd
Improve coding style
2020-11-17 21:02:37 +03:00
Andrei Stepanov
04306a544f
Fix typo in connection.cpp
...
limiation -> limitation
2020-10-20 11:10:51 +04:00
Chocobo1
b5b678c58f
Replace QString::split() by faster alternatives
2019-08-08 18:57:54 +08:00
Chocobo1
79d7ba8205
Fix wrong arg placeholder
2019-02-09 21:26:45 +08:00
Chocobo1
814eef1e56
Fix wrong arg placehoder
2019-02-01 13:38:14 +08:00
thalieht
6b1d26d555
Convert all foreach() to range-based for()
2018-11-28 23:40:12 +02:00
Chocobo1
c22e6b4502
Cleanup header include order
...
Add missing header.
Cleanup license.
2018-05-31 22:56:25 +08:00
thalieht
20ca90800d
Fix coding style
2018-05-09 17:06:22 +03:00
Chocobo1
f34dfca5e6
Enable Http/1.1 persistence connection
...
This enables reusing existing TCP connection instead of opening a new connection
for every request
2018-02-23 14:46:22 +08:00
Chocobo1
cec68c3fd7
Rewrite RequestParser
...
* Add more checks and also more strict checks for invalid conditions
* Add http version field
* Raise max request size to 64 MB
* Add author in license
* Use Qt5 new connect syntax
2018-02-23 14:46:17 +08:00
Chocobo1
0532d546d7
Implement HTTP host header filtering
...
This filtering is required to defend against DNS rebinding attack.
2017-07-12 17:26:13 +03:00
Chocobo1
0b5de9ff54
Temporary revert to the old behavior.
2017-04-20 22:26:35 +08:00
Chocobo1
4600e679d1
Implement robust acceptsGzipEncoding()
...
Adhere more to http/1.1 standard
2017-04-20 22:22:17 +08:00
Chocobo1
6cb2f05a6c
Demote to helper function
...
Rename function
2017-04-20 22:22:17 +08:00
Chocobo1
0b28fb6c6b
Implement http persistence connection
...
Max simultaneous connection limit set to 500
This also release allocated memory of Connection instances at runtime instead of at program shutdown.
2017-04-20 22:22:14 +08:00
Vladimir Golovnev (Glassez)
9db93e5d8f
Rename Core to Base ( Closes #3733 ).
2015-12-06 14:27:00 +03:00