Commit graph

730 commits

Author SHA1 Message Date
Ivailo Monev
6f78051c91 kdecore: implement option to download the icon from KMimeType::favIconForUrl()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-05 08:18:03 +03:00
Ivailo Monev
f6aba57553 kio: remove obsolete hack related to file dialog
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-05 05:08:03 +03:00
Ivailo Monev
669c8caa3b generic: format kimageio and krecentdirs source/header files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-05 02:47:05 +03:00
Ivailo Monev
470d7f91f9 kio: drop support for native dialogs
very much broken (with some TODOs, obviously not finished). on the TODO is
to get rid of KFileDialogQtOverride class and hook via QGuiPlatformPlugin

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-04 16:47:53 +03:00
Ivailo Monev
37a9dbe351 kio: deal with FIXME related to KIO::ERR_COULD_NOT_CLOSEDIR
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-04 03:10:58 +03:00
Ivailo Monev
c09633b359 kio: remove unused and private KIO::JobUiDelegate member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-04 02:50:10 +03:00
Ivailo Monev
77672fbe46 kio: remove deprecated and unused KIO::SlaveInterface methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-04 01:30:50 +03:00
Ivailo Monev
7e6a2f1a90 kio: assume dontAskAgainName is send by KIO::SlaveBase::messageBox()
it is send always

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-03 14:29:33 +03:00
Ivailo Monev
530f122fa5 kio: use the same integer type as KIO::SlaveBase::messageBox() in KIO::SlaveInterface::dispatch()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-03 14:25:55 +03:00
Ivailo Monev
9d65dc3c96 kio: KIO::SlaveInterface review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-03 14:02:02 +03:00
Ivailo Monev
cb8f778490 kio: remove unused KIO::SlaveInterface methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-03 13:43:16 +03:00
Ivailo Monev
004e03252f kio: merge KIO::Slave into KIO::SlaveInterface
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-03 13:37:11 +03:00
Ivailo Monev
a5ae838a0e kio: const-ify KIO::Slave::suspended() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-03 12:34:19 +03:00
Ivailo Monev
03a53c8cb9 kio: rename KIO::Slave::slave_pid() to KIO::Slave::pid() and correct its return type
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-03 12:32:46 +03:00
Ivailo Monev
d55ce7bf9c kio: de-virtualize KIO::Slave methods
no class inherits from it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-03 12:30:24 +03:00
Ivailo Monev
9e177e6fa9 kio: remove unused and redundant KIO::Slave::slaveProtocol() method
returns the same as KIO::Slave::protocol()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-03 12:15:15 +03:00
Ivailo Monev
6d6b5a85fd kio: remove reference to KIO slave that is no longer maintained
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-03 02:05:48 +03:00
Ivailo Monev
a50ed438a3 kio: remove compatibility bits
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-02 14:52:50 +03:00
Ivailo Monev
23618df1b5 kio: remove duplicate header inclusion
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-02 12:03:16 +03:00
Ivailo Monev
4c7a71e55a kio: disable ASN for services without entry path
it should not be assumed that applications support ASN to begin with but
currently is

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-21 06:12:46 +03:00
Ivailo Monev
53fda3a2f6 kdeui: remove the unused and non-standard LAUNCHED_BY ASN info
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-21 05:23:54 +03:00
Ivailo Monev
e9f6bd28d3 kio: const-ify KIO::Slave getters
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-20 05:49:45 +03:00
Ivailo Monev
219bea5656 kio: deprecation warning fix
next time just change the poppler::time_type typedef (less ifdef spaghetti)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-01-01 21:51:17 +02:00
Ivailo Monev
550ed43ba7 kio: lower the idle slaves life-time to 1 minute
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-01-01 06:15:52 +02:00
Ivailo Monev
4cb8afa14d generic: remove unused KIO protocol input/output information
KIO slaves are either helper (e.g. vnc/rdp), not source (e.g. thumbnail
which is also helper in a way) or have listing capability (e.g. file
which is filesystem type)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-01-01 02:46:51 +02:00
Ivailo Monev
5e7a19f6f7 generic: store KIO slaves listing capability as boolean
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-01-01 00:57:27 +02:00
Ivailo Monev
c9ee5d3195 kio: add note about a gap in the HTTP RFC
HTTP is a one-way street, do I really want to keep a server up until a file
transfer is finished tho (not in the case of KDirShare - the directory may
be unshared because the system is about to be rebooted or shutdown)?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-29 08:51:56 +02:00
Ivailo Monev
7cfaf11ad3 kio: implement HEAD method for KHTTP
kinda not worth it tho - neither browsers nor KIO use it actually, maybe
optimization for bots and web crawlers

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-27 20:29:45 +02:00
Ivailo Monev
45db837f12 kio: initialize KHTTPPrivate::m_filepool member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-27 18:53:52 +02:00
Ivailo Monev
f5fa2f2fd6 kio: thread the sending of files from KHTTP
for small files it may be overkill but for large files it is a huge
difference

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-27 01:18:37 +02:00
Ivailo Monev
0806e846eb kio: insert Connection header from HTTPHeaders() function
required if not supported by the server, for reference:
https://www.rfc-editor.org/rfc/rfc9112#name-persistence

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 23:13:02 +02:00
Ivailo Monev
823c98360d kio: handle content exceptions in KHTTP
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 22:06:19 +02:00
Ivailo Monev
f6ef1e42f3 kio: insert Last-Modified header when serving files from KHTTP
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 21:49:11 +02:00
Ivailo Monev
b1522a35dd kio: update HTTP status codes from RFC 9110
for reference:
https://www.rfc-editor.org/rfc/rfc9110.html#name-changes-from-rfc-7231

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 20:51:41 +02:00
Ivailo Monev
9c3873613c kio: insert Accept-Ranges header from HTTPHeaders() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 20:26:04 +02:00
Ivailo Monev
20e8594122 kio: insert Allow header from HTTPHeaders() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 19:41:44 +02:00
Ivailo Monev
5c7bcd1be4 kio: remove now unused QMutex header inclusion in khttp source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 19:40:45 +02:00
Ivailo Monev
8fcd182e2f kio: const-ify the port argument of KHTTP::start()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 16:35:34 +02:00
Ivailo Monev
a9c96f297b kio: multi-connection safe KHTTP server stop
bonus points for not using mutex

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 03:58:28 +02:00
Ivailo Monev
529ef6912b kio: mark the KHTTPPrivate reimplementation as final
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 03:21:22 +02:00
Ivailo Monev
4f01c0c369 kio: typo
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 03:20:52 +02:00
Ivailo Monev
9446f976e7 kio: thread-safe KHTTP server stop
due to QTcpServer deleting clients on close either polling for new
connection has to be done (which will slow down the server a lot) or the
server has to be mutex-locked on per-client basis

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 03:18:43 +02:00
Ivailo Monev
0cbc869f50 kio: convert the version to uppercase for the sake of comparison
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 21:30:17 +02:00
Ivailo Monev
496c1e3226 kio: send 505 on non-HTTP/1.1 version from KHTTP
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 21:29:09 +02:00
Ivailo Monev
362b80c063 kio: send 405 on non-GET method from KHTTP
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 21:16:37 +02:00
Ivailo Monev
8731dfa323 kio: add the HTTP status code to the content in HTTPStatusToContent() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 20:51:39 +02:00
Ivailo Monev
6b61bac251 kio: KHTTP optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 20:33:55 +02:00
Ivailo Monev
907782ff6d kio: KHTTP::respond() documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:55:17 +02:00
Ivailo Monev
931a05dbb7 kio: do not assume server does not contain space characters in HTTPHeaders() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:44:18 +02:00
Ivailo Monev
046d5caaee kio: new KHTTP::setServerID() setter
because authentication is done before calling the virtual KHTTP::responed()
method which means that Server header set in the headers from it would have
no effect

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:33:02 +02:00