Commit Graph

187 Commits

Author SHA1 Message Date
an-tao
5dc02c3476 Bump version to 1.4.1 2021-03-07 20:42:32 +08:00
an-tao
cd389aec13 Bump version to 1.4.0 2021-03-05 23:06:16 +08:00
interfector18
6542236b20
Add default value interface to sqlbinder for mysql and postgresql (#704) 2021-02-07 10:34:49 +08:00
Martin Chang
a2142dd93e
Coroutine support (#693)
* app().registerHttpHandler() accepts coroutine as handlers
* HttpController can use coroutine as handlers'
* Http request handlers with coroutine catches exception instead of crashing the entire app
* DbClient now has execSqlCoro that is awaitable
* DbClient now has newTransactionCoro that is awaitable
* HttpClient have awaitable sendRequestCoro
* WebSocketClient have awaitable connectToServerCoro
* WebSocketClient have setAsyncMessageHandler and setAsyncConnectionClosedHandler
* drogon::AsyncTask and drogon::Task<T> as our corutine types
* Related tests
* Misc

Future work
* Coroutine for WebSocket server
* Known issues

co_future() and sync_wait may crash. It looks like GCC bug but I'm not sure.
Workarround: Make an coroutine of AsyncTask. Then launch said coroutine.
Not sure why wrapping the exact same thing in function crashes things.

Co-authored-by: an-tao <antao2002@gmail.com>
2021-02-06 17:05:58 +08:00
双草酸酯
2919fdb7d4
Handle cross compiling properly (Fix for #654) (#694) 2021-01-24 22:44:20 +08:00
Martin Chang
0168cd0574
Bump version in CMakeLists.txt to 1.3.0 (#692) 2021-01-17 12:03:27 +08:00
ivanka2012
d2f291689d
Fix cmake drogonctl crosscompile (#654) 2020-12-13 22:12:01 +08:00
an-tao
35b4a86e06 Bump version to 1.2.0 2020-12-12 16:33:13 +08:00
An Tao
8b7ffb28d7
Add support in the SqlBinder class and the Session class (#644) 2020-12-06 11:41:06 +08:00
Joakim L. Gilje
886dfc3648
Support OpenBSD (#626)
Co-authored-by: an-tao <antao2002@gmail.com>
2020-11-15 12:18:01 +08:00
an-tao
fb17efe765 Bump version to 1.1.0 2020-10-31 11:10:23 +08:00
An Tao
43e7b3fec0
Add --path-to-namespace option to drogon_ctl for creating views (#607) 2020-10-12 21:51:39 +08:00
Andre Castellanos
3d9278cb82
CMAKE bug fixed when SHARED and EXAMPLES are on (#597)
Co-authored-by: andre <andre@pop-os.localdomain>
2020-10-04 11:10:23 +08:00
Martin Chang
ada35c43fa
Fix failing to connect to DB if parameters contains spaces (#589) 2020-10-01 19:47:51 +08:00
An Tao
bbb338bf12
Bump version to 1.0.0 (#584) 2020-09-27 22:51:09 +08:00
an-tao
d59021ef9f Bump version to 1.0.0-beta21 2020-08-19 23:18:59 +08:00
An Tao
2aebba9cc1
Fix zlib link error on Windows for the latest vcpkg (#545) 2020-08-19 22:23:47 +08:00
an-tao
f0110a642d Bump version to 1.0.0-beta20 2020-08-15 16:04:10 +08:00
an-tao
dd66ba5a73 Bump version to 1.0.0-beta19 2020-07-16 21:07:00 +08:00
antao
fda6a443a8 Bump version to 1.0.0-beta18 2020-06-14 23:20:35 +08:00
An Tao
e7b7618c37
Use string_view to parse multipart/form-data requests (#469) 2020-06-10 11:11:24 +08:00
An Tao
adab48e187
Fix a Mysql connection error on Windows (#449) 2020-06-02 22:05:03 +08:00
antao
49472a3cc4 Create a class template for publish subscribe pattern (#443) 2020-05-24 20:42:00 +08:00
antao
84e503a948 Bump version to 1.0.0-beta17 2020-05-23 10:47:24 +08:00
Vedran Miletić
375498a5a6
Fixes for FreeBSD (#440)
* Use uuid(3) to generate UUIDs on FreeBSD

FreeBSD is now handled like Windows so additional UUID libraries are
not required.

* Modify build.sh script to work on FreeBSD

- /bin/bash -> /usr/bin/env bash
- nproc -> sysctl -n hw.ncpu
2020-05-20 22:29:37 +08:00
interfector18
eafdc5d357
Add causal profiling with coz (#414) 2020-04-30 13:30:37 +08:00
antao
6d6a7acd09 Bump version to 1.0.0-beta16 2020-04-27 21:49:06 +08:00
ihmc3jn09hk
269acbc477
Use splitString in trantor (#413)
Co-authored-by: antao <antao2002@gmail.com>
2020-04-18 11:13:53 +08:00
An Tao
c43ba9e514
Add support for brotli compression (#406) 2020-04-04 18:15:15 +08:00
antao
3a2c472694 Update drogon version to v1.0.0-beta15 2020-03-28 16:11:14 +08:00
An Tao
f5e87acd9b
Remove dependency on pkg-config (#398)
Considering that on FreeBSD, pkg-config has been replaced by pkgconfig, we should remove the dependency on pkg-config.
2020-03-21 12:41:15 +08:00
ihmc3jn09hk
98ab826cfc
Fix drogon_ctl runtime error when compiling drogon to shared library (#397)
Fix for #395
2020-03-21 08:40:25 +08:00
An Tao
7af67dc4da
Make CMake install files relocatable (#387) 2020-03-18 19:54:48 +08:00
An Tao
e171874524
Modify installation on Windows (#366) 2020-02-29 15:46:08 +08:00
Wang Gao
d5cd882248
Add support for MSVC 2015 (#365)
Co-authored-by: An Tao <antao2002@gmail.com>
2020-02-26 12:36:46 +08:00
An Tao
cc3149dc58
Modify CMakeLists.txt (#358) 2020-02-22 21:15:15 +08:00
An Tao
3d8c304a47
Remove get_version.sh (#344) 2020-02-06 22:13:50 +08:00
An Tao
58702dc41e
Port drogon to Windows (#335)
Co-authored-by: mcirsta <mforce2@gmail.com>
2020-01-25 11:58:20 +08:00
antao
668533fbbd Update drogon version to v1.0.0-beta13 2020-01-04 09:37:10 +08:00
An Tao
1c99a8a94e
Use drogon::OStringStream instead of std::stringstream in text template (#322) 2020-01-01 16:15:11 +08:00
An Tao
cc04a013be
Use INSTALL_LIB_DIR instead of 'CMAKE_INSTALL_PREFIX/lib' in CMakeLists.txt (#318) 2019-12-12 12:49:18 +08:00
interfector18
832c6cb48d Make shared linking possible, use option instead of set for CMake (#315) 2019-12-11 18:39:10 +08:00
antao
0a990f4331 Make a patch to support the ossp UUID Library 2019-12-09 17:22:38 +08:00
An Tao
6571e55631
Adding unit tests to Travis CI (#310) 2019-12-07 17:43:00 +08:00
An Tao
5bb54cd4cf
Fix a bug in compressing by zlib (#308) 2019-12-07 01:26:12 +08:00
antao
f9d09d1554 Update drogon version to v1.0.0-beta12 2019-11-30 12:17:53 +08:00
An Tao
5c1c73d9b6
Add the SecureSSLRedirector plugin (#306) 2019-11-30 08:35:40 +08:00
antao
139d2db02b Update drogon version to v1.0.0-beta11 2019-11-06 13:38:23 +08:00
antao
0133e47e8f Update drogon version to v1.0.0-beta10 2019-11-04 10:19:20 +08:00
antao
ac377bd650 Update drogon version to v1.0.0-beta9 2019-10-29 14:02:00 +08:00
An Tao
f9998996a5
Modify cmake configuration (#271) 2019-10-04 22:24:34 +08:00
Daniel Mensinger
ffb8a9d0e4 Thread storage (#265) 2019-10-02 22:29:25 +08:00
An Tao
70eda27427
Add the ability to create restful API controllers (#244)
* Add the ability to create restful API controllers

* Update the model.json template file

* Modify the 'create controller' command of the drogon_ctl

* access column values by column array indexes instead of column names when constructing an instance of a model class

* Fix a bug of mysql database

* Add some static SQL into models

* Add validations to models

* Add setToNull method to models

* Support 'where in' substatement

* Delay rendering from json to the response body. This allows users to modify the json object before sending a response.

* Add synchronous method to the HttpClient class
2019-09-30 21:34:30 +08:00
Armstrong
1414704b44 add per request attribute store (#259) 2019-09-28 21:48:06 +08:00
An Tao
eed9c06250
Fix some compilation warnings (#257) 2019-09-27 16:05:38 +08:00
Daniel Mensinger
795079531a cmake: use export namespace for Drogon::Drogon (#255)
* cmake: use ${PROJECT_NAME} instead of drogon everywere

* cmake: use export namespace instead of dummy library
2019-09-26 19:33:58 +08:00
An Tao
9855fc9b4f
Fix bugs in HTTP view examples (#246) 2019-09-16 10:10:23 +08:00
An Tao
5d3fda57a0
Remove ClassTraits.h (#235) 2019-09-07 21:00:51 +08:00
antao
a8afbc8cee Update drogon version to v1.0.0-beta7 2019-08-31 18:39:46 +08:00
An Tao
aa26e9a903
Modify the CMakeLists to modern cmake style (#229) 2019-08-31 08:27:57 +08:00
An Tao
ba49a0e0e6
Update README (#225)
* Update README

* Update CMakeLists.txt
2019-08-24 22:44:37 +08:00
An Tao
dcab7d54b1
Fix a bug when there's '+' in the building path (#221) 2019-08-23 16:59:55 +08:00
An Tao
da285cd4d2
Reduce dependencies between declarations (#212) 2019-08-15 20:59:16 +08:00
antao
16afa82688 Modify CMakeLists.txt 2019-08-10 16:08:18 +08:00
an-tao
f1409a2c2d Bump drogon version to v1.0.0-beta6 2019-08-08 22:18:17 +08:00
An Tao
c705990fe5
Add the DrogonConfig.cmake (#207)
Add DrogonConfig.cmake so that users can use drogon with the `find_package(Drogon)` command.
2019-08-08 15:17:09 +08:00
An Tao
d97cfa8609
Optimize the batch mode of libpq. (#205) 2019-08-02 14:30:37 +08:00
An Tao
e566d9c451
Support PostgreSQL batch mode (#203) 2019-08-01 13:01:54 +08:00
antao
40087fba9c Remove config.h
Modify the CMakeLists.txt

Remove the USE_ORM macro

Update trantor

Remove some std::dynamic_pointer_cast calls
2019-07-29 14:53:41 +08:00
moneroexamples
2d1c754c72 Ability to disable ORM, CTL and EXAMPLES 2019-05-28 15:26:43 +08:00
antao
dc14eeda4e Enable users to specify a preferred installation location via the CMAKE_INSTALL_PREFIX variable 2019-05-02 23:15:22 +08:00
antao
0e14406b31 Modify shared library loading 2019-04-26 13:43:59 +08:00
antao
aad06fdc3a Add support for plugins 2019-03-29 15:34:14 +08:00
antao
8ae07ce195 Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR in CMakeLists.txt files 2019-03-27 19:32:09 +08:00
antao
f1a14e4441 Modify the method of setting the CMAKE_MODULE_PATH 2019-03-27 13:14:30 +08:00
antao
6ebae287a3 Make the 'any' works correctly with either C++17 or C++14 2019-01-30 09:37:30 +08:00
antao
9ee1ee929c Update the drogon_ctl command to support sqlite3 2018-12-29 13:12:36 +08:00
antao
6db8df6bc0 Sqlite3 works, needs more testing 2018-12-29 13:12:36 +08:00
antao
161a964238 Start adding sqlite3 support 2018-12-29 13:12:36 +08:00
antao
78c6249bd7 Modify the drogon_ctl 2018-12-03 18:39:44 +08:00
an-tao
ffbdac36c9 Modify cmake files for the mariadb database on linux 2018-12-03 17:03:45 +08:00
antao
efbf5b4ad5 Add the MysqlConnection class 2018-12-03 10:13:31 +08:00
antao
21cb1b482a Start adding mysql(mariadb) support 2018-12-03 10:13:31 +08:00
antao
20f97a78a2 Modify tests path 2018-11-27 18:29:23 +08:00
antao
81540ca19b Add a database test 2018-11-27 17:37:41 +08:00
antao
143b62b36b Fix some bugs in creating models 2018-11-09 15:46:38 +08:00
antao
cae30230c3 Add the create DAO method to drogon_ctl, not completed 2018-11-09 15:46:38 +08:00
antao
2dcb924c81 Start Adding orm 2018-11-09 15:46:38 +08:00
antao
af53337a6a Add configuration options to the configuration file for simple controller mapping 2018-10-21 14:52:41 +08:00
antao
1d4c4ef897 Update CMakeLists.txt 2018-10-19 18:14:49 +08:00
antao
5da68027e8 Update CMakeLists.txt 2018-10-19 17:24:12 +08:00
antao
23b8d7447a Remove boost::any 2018-10-16 10:59:32 +08:00
an-tao
30ab9e09b1 Handle the details of the OpenSSL library 2018-10-14 19:57:17 +08:00
antao
0a3d27a5b0 Optimize response caching 2018-10-13 21:49:37 +08:00
antao
b7738f91e7 Modify CMakeLists.txt 2018-10-07 23:01:43 +08:00
antao
0382d2ac83 Update CMakeLists.txt 2018-10-02 21:21:22 +08:00
antao
868ac73345 Update CMakeLists.txt 2018-09-16 15:31:25 +08:00
an-tao
649f6f3925 1.Use OpenSSL as an optional lib;2.Add SHA1 test 2018-09-15 22:04:52 +08:00
antao
aaea4fb5ca Update CMakeLists.txt 2018-09-14 23:54:06 +08:00
antao
4897c29a67 Update trantor 2018-09-14 18:33:37 +08:00