Max Kellermann
af951dc08a
Merge branch 'v0.23.x'
2022-07-01 12:45:07 +02:00
Max Kellermann
5a5655b790
lib/curl/Adapter: catch and postpone exceptions in WriteFunction()
...
This fixes a std::terminate() crash in the CURL storage plugin when
PropfindOperation::OnHeaders() throws an exception after receiving a
non-207 status.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1559
2022-07-01 12:43:42 +02:00
Max Kellermann
b88d1e6820
lib/curl/Headers: make the comparison type "transparent"
2022-07-01 12:17:41 +02:00
Max Kellermann
19d2864c34
lib/curl/Headers: central type definition for the header map
2022-07-01 12:17:36 +02:00
Max Kellermann
29e3a17f26
lib/curl/Request: move code from SetupEasy() to Setup.cxx
2022-07-01 12:17:26 +02:00
Max Kellermann
252e9f736f
lib/curl/Request: move code to class CurlResponseHandlerAdapter
2022-07-01 12:17:20 +02:00
Max Kellermann
5d08988dda
lib/curl/Handler: fix typo
2022-07-01 12:17:17 +02:00
Max Kellermann
47ca4246aa
lib/curl/Request: add constructor with CurlEasy parameter
2022-07-01 12:17:13 +02:00
Max Kellermann
f8338d4f00
lib/curl/Request: use std::size_t
2022-07-01 12:16:59 +02:00
Max Kellermann
5cf6032c90
lib/curl/Request: move code to SetupEasy()
2022-07-01 12:16:55 +02:00
Max Kellermann
8d8b77412d
lib/curl/Request: add API docs
2022-07-01 12:16:50 +02:00
Max Kellermann
02fe857755
util/IterableSplitString: return std::string_view
2022-07-01 11:29:11 +02:00
Max Kellermann
bc3415ce8b
Copyright year 2022
2022-06-30 09:41:53 +02:00
Max Kellermann
8783ed1981
lib/curl/Adapter: use std::string_view
2022-06-29 17:38:58 +02:00
Max Kellermann
1da09f5b1b
lib/curl: use std::span
2022-06-29 17:37:12 +02:00
Max Kellermann
759da033fc
lib/curl/Escape: use std::string_view instead of StringView
2022-05-31 13:22:56 +02:00
Max Kellermann
8e99448819
lib/curl/Headers: make the comparison type "transparent"
2022-02-14 18:19:28 +01:00
Max Kellermann
1e548fb6e3
lib/curl/Headers: central type definition for the header map
2022-02-14 18:19:05 +01:00
Max Kellermann
dda0dfc140
lib/curl/Request: move code from SetupEasy() to Setup.cxx
2021-12-08 20:03:30 +01:00
Max Kellermann
e0f56b9e2d
lib/curl/Request: move code to class CurlResponseHandlerAdapter
2021-12-08 19:51:54 +01:00
Max Kellermann
50a617764a
lib/curl/Handler: fix typo
2021-12-08 19:41:39 +01:00
Max Kellermann
cdcef49eef
lib/curl/Request: add constructor with CurlEasy parameter
2021-12-07 12:01:09 +01:00
Max Kellermann
9e18aafccc
lib/curl/Request: use std::size_t
2021-12-07 12:00:12 +01:00
Max Kellermann
f7346c1d78
lib/curl/Request: move code to SetupEasy()
2021-12-07 11:57:42 +01:00
Max Kellermann
b709401814
lib/curl/Request: add API docs
2021-12-07 11:56:45 +01:00
Rosen Penev
4e276256c0
more braced init list conversion
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-12-06 09:16:04 +01:00
Max Kellermann
f74996c02f
Merge remote-tracking branches 'neheb/1', 'neheb/2', 'neheb/3', 'neheb/4' and 'neheb/5'
2021-11-20 07:55:24 +01:00
Max Kellermann
eea2d35d3a
util/AllocatedString, ...: add missing include for std::exchange()
...
Fixes building with GCC 12.
2021-11-19 16:06:20 +01:00
Rosen Penev
5deca66fdc
add various nodiscard
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-11 17:17:26 -08:00
Rosen Penev
4e0e4c00bf
treewide: replace lock_guard with scoped_lock
...
SonarLint reports the latter to be better:
std::scoped_lock basically provides the same feature as std::lock_guard,
but is more generic: It can lock several mutexes at the same time, with a
deadlock prevention mechanism (see {rule:cpp:S5524}). The equivalent code
to perform simultaneous locking with std::lock_guard is significantly more
complex. Therefore, it is simpler to use std::scoped_lock all the time,
even when locking only one mutex (there will be no performance impact).
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-11 17:13:03 -08:00
Max Kellermann
f510564d9d
more [[gnu::...]] attributes
2021-10-13 12:07:05 +02:00
Max Kellermann
410b8711f2
lib/curl/meson.build: add -DCURL_STATICLIB on Windows
...
Necessary since commit 6acf81d5ae
2021-09-21 13:24:35 +02:00
Max Kellermann
6acf81d5ae
python/build/libs.py: build CURL with cmake
2021-09-21 12:30:39 +02:00
Rosen Penev
220d2bf026
clang-tidy: add explicit deleted constructors
...
Found with cppcoreguidelines-special-member-functions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-30 22:47:20 -07:00
Max Kellermann
a2bdac571a
Merge branch 'v0.22.x'
2021-05-17 19:33:15 +02:00
Max Kellermann
6f51d910ee
python/build/libs.py: update CURL to 7.76.1
2021-05-17 18:42:05 +02:00
Max Kellermann
6e58fd1583
lib/curl/Multi: reword API documentation
2021-03-29 20:19:21 +02:00
Max Kellermann
c5fec4ac2a
lib/curl/Multi: move operator bool() down
2021-03-29 20:19:21 +02:00
Max Kellermann
fe2ca1ddef
lib/curl/Multi: rename parameters
2021-03-29 20:19:19 +02:00
Rosen Penev
44378b7dbe
use structured binding declarations
...
Shorter.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-03-04 20:28:02 +01:00
Max Kellermann
d4bbb8c851
Merge branch 'struc' of git://github.com/neheb/MPD
2021-03-04 17:50:53 +01:00
Max Kellermann
def962b6cb
event/{Coarse,Fine,Far}TimerEvent: aliases for TimerEvent
...
Preparing for a variant of TimerEvent with coarse 1-second
granularity, but cheaper (with a timer wheel).
2021-02-05 18:16:05 +01:00
Max Kellermann
33ac3eb551
lib/curl/Easy: add methods SetVerify{Host,Peer}()
2021-01-22 12:34:04 +01:00
Max Kellermann
abbd980671
Merge branch 'v0.22.x'
2021-01-01 19:59:15 +01:00
Max Kellermann
5348f8c9c8
copyright year 2021
2021-01-01 19:54:28 +01:00
Max Kellermann
1f312b2e42
curl/Handler: disallow OnData() to throw
...
This eliminates some complexity from class CurlRequest.
2020-12-15 17:03:24 +01:00
Max Kellermann
1e3089ffb7
curl/Request: move struct Pause to class CurlResponseHandler
2020-12-15 17:01:18 +01:00
Max Kellermann
5d7ff150dd
curl/Request: add more wrapper methods
2020-12-15 16:56:20 +01:00
Rosen Penev
0fd2c74a66
use structured binding declarations
...
Shorter.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-10-28 15:41:31 -07:00
Max Kellermann
4e47653cf6
lib/curl/Global: ignore curl_multi_socket_action() errors
...
Keep the logging library out of this low-level libcurl wrapper.
2020-10-15 16:31:31 +02:00