Commit Graph

1899 Commits

Author SHA1 Message Date
Tanglong3bf 284d14b8ca
Fix some bugs in plugin PromExporter. (#2189) 2024-10-21 09:51:34 +08:00
fantasy-peak ca2210331d
Add sending customized http requests to drogon_ctl (#2186) 2024-10-17 10:47:04 +08:00
Martin Chang 3fce70b535
Replace rejection sampling and remove use of rand() (#2180) 2024-10-10 13:45:46 +08:00
An Tao bf1fc03bff
Fix lint (#2181) 2024-10-09 18:20:29 +08:00
an-tao 5225bb3295 Update trantor and add docker actions 2024-10-09 16:45:19 +08:00
An Tao ac0a1b873e
Fix a bug after removing content-length header in some responses (#2176) 2024-10-02 16:42:40 +08:00
Muhammad 912f1d803c
Optimize query params and allow for empty values (#2171) 2024-09-26 15:47:58 +08:00
An Tao 13d7148764
Remove websocketResponseTest from windows shared library env (#2170) 2024-09-25 20:16:40 +08:00
Chad Barth b0c5331bc1
Remove content-length header from 101 Switching Protocols response (#2164) 2024-09-25 17:52:41 +08:00
Christopher T c9f5754423
Add support for escaped identifiers in Postgresql (#2167) 2024-09-23 16:00:50 +08:00
an-tao 31fb18fb46 Update trantor 2024-09-20 16:22:09 +08:00
toge f918ead0ae
include exception header for std::exception_ptr (#2159) 2024-09-19 10:11:04 +08:00
Muhammad fee34095a2
Add Hodor whitelists (#2154) 2024-09-19 09:56:11 +08:00
Omar Mohamed Khallaf 2911a7c08a
Fix coroutine continuation handle (#2163)
Using coroutines directly by the user e.g. declaring a function with
drogon::Task<> return type, will have it's continuation set to nullptr.

Returning nullptr causes a segfault and it must be checked before
returning e.g. the snippet form https://en.cppreference.com/w/cpp/coroutine/noop_coroutine

```cpp
struct final_awaiter
{
    std::coroutine_handle<>
        await_suspend(std::coroutine_handle<promise_type> h) noexcept
    {
        // final_awaiter::await_suspend is called when the execution of the
        // current coroutine (referred to by 'h') is about to finish.
        // If the current coroutine was resumed by another coroutine via
        // co_await get_task(), a handle to that coroutine has been stored
        // as h.promise().previous. In that case, return the handle to resume
        // the previous coroutine.
        // Otherwise, return noop_coroutine(), whose resumption does nothing.

        if (auto previous = h.promise().previous; previous)
            return previous;
        else
            return std::noop_coroutine();
    }
};
```

This commit default initializes the continuation handle to no op coroutine and
avoids the check.

Signed-off-by: Omar Mohamed <mohamed.omar67492@gmail.com>
2024-09-19 09:52:51 +08:00
Muhammad 1b4653577f
Revert original path to its initial behavior (#2157) 2024-09-17 11:54:33 +08:00
Muhammad bbcad71458
Add in-place base64 encode and decode (#2153) 2024-09-14 09:57:07 +08:00
Muhammad beec858eba
Partially revert commit 93d8fb425d (#2156) 2024-09-13 17:34:23 +08:00
Muhammad 93d8fb425d
Fix forwarding with space in url by encoding (#2155) 2024-09-13 09:46:06 +08:00
antao 73406d1225 Bump version to 1.9.7 2024-09-10 23:12:02 +08:00
Ponder 6bafdf30fd
Feature: TcpServer hot reload SSL file (#2150) 2024-09-10 11:38:56 +08:00
元路 59919f33ef
Refine SQLite3 error types with new exception handling (#2145)
Signed-off-by: yuanlu <2573580691@qq.com>
2024-09-06 15:37:09 +08:00
an-tao 1326205483 Change a log level 2024-08-23 11:34:50 +08:00
Omar Mohamed Khallaf 80ec7d9211
Use correct libraries when compiling statically (#2136)
When compiling statically, cmake pulls shared libraries as dependencies
for drogon e.g. libpq.so instead of libpq.a. This causes linkage errors
when compiling the whole program.

The flag USE_STATIC_LIBS_ONLY should set the CMAKE_FIND_LIBRARY_SUFFIXES
to the appropriate suffix on different platforms, thus find_* commands
find the right library.
2024-08-22 15:46:47 +08:00
fantasy-peak 5b5d1906bf
Add requestsBufferSize function (#2124) 2024-08-14 11:15:33 +08:00
Muhammad 206ef0d881
Modernize cookies (#2112) 2024-08-08 22:23:28 +08:00
fantasy-peak c46f149c2c
Add coroutine mutex (#2095) 2024-08-08 15:17:06 +08:00
Bohdan Tsehelnyk 0546032edc
change stoi to stoul (#2115) 2024-08-06 17:16:06 +08:00
Bohdan Tsehelnyk f743cfd4d1
add quotes (#2116) 2024-08-06 17:15:01 +08:00
Muhammad 500d44faac
Allow `MultiPartParser` to be movable (#2107) 2024-07-23 11:52:52 +03:00
antao e786907478 Bump version to 1.9.6 2024-07-20 23:35:17 +08:00
Nitromelon 5d4523a3a6
Support request stream (#2055) 2024-07-03 11:31:39 +08:00
fantasy-peak dfacd1b454
Add setsockopt to HttpServer (#2086) 2024-07-02 10:04:56 +08:00
Chuck 85b918f9e9
Update README.md (#2080)
A few minor typos.
2024-06-21 10:04:11 +08:00
fantasy-peak 7b8d0085b1
Delay parsing json for HttpClient (#2077) 2024-06-20 00:09:08 +08:00
An Tao f6913f6328 Add an example of prometheus (#2076) 2024-06-19 14:13:15 +08:00
Martin Chang a2f759e4cd
Update trantor (#2074) 2024-06-17 18:59:57 +08:00
Nitromelon ad2b7e13e1
Fix typo in yaml config. (#2069) 2024-06-15 10:27:51 +08:00
An Tao b04dfd7f96
Fix some compilation warnings (#2066) 2024-06-13 17:11:03 +08:00
Muhammad de5a4a5f57
Allow `MultiPartParser` to parse PATCH requests (#2062) 2024-06-09 18:46:57 +03:00
An Tao 8bdb9b2fa6
Bump version to 1.9.5 (#2057) 2024-06-08 20:31:23 +08:00
fantasy-peak 0a889e921d
Add registerMiddleware (#2052) 2024-06-04 17:05:52 +08:00
TYUTthelastone 9a96a20c6e
Add regex support for websocket controller (#1779) 2024-06-04 11:27:00 +08:00
Nitromelon f37a1d036f
Fix pg client name; Add testcase. (#2043) 2024-05-29 00:23:43 +08:00
Nitromelon c4c95918bf
Fix wrong parameter order. (#2040) 2024-05-27 19:10:05 +08:00
Martin Chang 6726df139d
fix codespell error (#2038) 2024-05-26 14:08:18 +08:00
Jonathan S. Fonseca 150735848d
Intention to present an alternative to improve the aforementioned method (#2034) 2024-05-25 21:30:01 +08:00
Nitromelon 155ae9ad65
Support postgresql connection options (#1972) 2024-05-23 14:03:28 +08:00
Nitromelon 306df8a8fb
Install gcc in ci. (#2028) 2024-05-22 14:48:12 +08:00
Nitromelon 82c46f13f8
Fix CI on windows (#2025) 2024-05-10 14:11:28 +08:00
an-tao 5f75222243 Add the conan badge to readme files 2024-05-10 10:59:32 +08:00