Commit Graph

322 Commits

Author SHA1 Message Date
NitroMelon 6a55a3aa64
Fix namespace in model template. (#1107) 2021-12-05 18:29:29 +08:00
Ichiro faf3e0c17c
Add drogon::orm to models generation (#1092) 2021-11-26 11:29:47 +08:00
Martin Chang 29f2d431ab
Prevent drogon_ctl create_view appending empty new lines to resulting view in c++ section (#1073) 2021-11-06 11:15:46 +08:00
Martin Chang 56cb305ae3
Support custom MIME types and extensions (#1024)
* Drogon now support custom extension and MIME types
* Added contentTypeString() to retrieve the string version of content type (in case the content type is not in the ContentType enum)
* setCustomContentTypeAndString() also accepts MIME as input (instead of the full content-type header string),
* Remove webContentTypeToString()
* Added app().registerCustomExtensionMime()
* Added support to load custom extension from JSON config
2021-09-24 22:51:09 +08:00
Martin Chang 133e6dc2ef
Update C++ version detection logic (#993)
* Maintain compatibility with cmake generated from older drogon_ctl
 * Use user-defined C++ version when possible
 * C++ version detection no-longer depends on std::filesystem availability
 * Link against c++fs in DrogonConfig.cmake if on those versions of GCC
 * Allow DrogonConfig to use user-defined C++ version
2021-08-24 16:34:07 +08:00
Martin Chang 7e4174d537
Escape connection string in `drogon_ctl create model` (#967) 2021-08-10 21:25:16 +08:00
An Tao 1c04b1a419
Fix some compatibility issues introduced by std::filesystem or boost::filesystem (#947) 2021-07-23 13:08:54 +08:00
Martin Chang 35c2d123c0
Load ParseAndAddDrogonTests in DrogonConfig (#934) 2021-07-17 22:16:03 +08:00
Greisberger Christophe 5c1c81e828
Feature/support windows unicode paths (#928) 2021-07-15 23:57:12 +08:00
Greisberger Christophe d888816997
Added support for paths containing unicode characters on Windows (#921)
Co-authored-by: Christophe Greisberger <christophe@greisberger.fr>
Co-authored-by: an-tao <antao2002@gmail.com>
Co-authored-by: marty1885 <marty188586@gmail.com>
2021-07-12 22:38:02 +08:00
Martin Chang 3b600232be
error on failing to create view from CSP (#924) 2021-07-09 07:58:03 +08:00
Philip Kovacs a70a2844b1
Fix compiler warnings (#886)
Co-authored-by: an-tao <antao2002@gmail.com>
Co-authored-by: Martin Chang <marty1885@users.noreply.github.com>
2021-06-09 19:14:15 +08:00
Tommy Chiang e1cbd1b987
Add SSL_CONF_cmd support (#871) 2021-05-29 16:53:46 +08:00
陈晓林 e478b63dda
Add support 'select <db>' for redis (#847)
Co-authored-by: an-tao <antao2002@gmail.com>
2021-05-12 18:32:49 +08:00
An Tao 51814b76da
Add the setTimeout() method to the ReidsClient class (#830) 2021-04-30 08:00:11 +08:00
An Tao 685aaaa3da
Add the setTimeout() method to the DbClient class (#823) 2021-04-29 10:13:34 +08:00
0rangeFox f670f71484
A few mini changes to Drogon CTL. (#795) 2021-04-11 11:51:48 +08:00
0rangeFox c65051a8f1
Remove repeated class names on relationships from model generator. (#792) 2021-04-09 22:15:49 +08:00
An Tao 4b8d08f20f
Add CoroMapper to models friends (#790) 2021-04-09 16:54:40 +08:00
Bertrand Darbon 54727a5dbe
Add exports macro to allow Shared Library with hidden symbols by default (e.g. Windows) (#745)
Co-authored-by: an-tao <antao2002@gmail.com>
2021-04-09 10:17:28 +08:00
An Tao d22ce4a848
Fix a bug when creating sqlite3 models (#756) 2021-03-18 01:17:37 +08:00
JuergenGleiss 79f480c17d
Bugfix/restful api dump invalid json (#748) 2021-03-14 17:20:15 +08:00
An Tao 6d9aa3b44c
Add redis support (#719) 2021-03-13 19:13:54 +08:00
JuergenGleiss 29a1659085
Feature/orm convert method (#739) 2021-03-12 10:41:20 +08:00
Bertrand Darbon bcd8e27a36
feature(signal): Add option to disable signal handling (#742) 2021-03-11 22:03:02 +08:00
An Tao ef51951785
Make projects created by dg_ctl support coroutines (#727) 2021-02-27 17:39:13 +08:00
丁盟 64e916ccb3
Fix an error with missing composite key to sqlite3 ORM generator (#673) 2021-01-05 22:14:31 +08:00
An Tao f26450f04b
Fix an error in sqlite3 ORM generator (#669) 2020-12-30 20:11:24 +08:00
An Tao ec59dbbc3d
Add option for setting float precision in Json string (#666) 2020-12-24 20:00:29 +08:00
An Tao 1cb8b17709
Fix some bugs when creating models via drogon_ctl (#660) 2020-12-18 09:41:58 +08:00
zorosz 61bb2cf130
Based on https://github.com/an-tao/drogon/issues/627#issuecomment-727768460 (#659)
Co-authored-by: oroszz <oroszz>
2020-12-18 09:41:04 +08:00
An Tao ce704aff5b
Update trantor (#656)
* Update trantor
* Make some minor modifications.
2020-12-14 08:49:33 +08:00
ivanka2012 1abd8b3506
Add implicit page resolving capability (a-directory -> a-directory/index.html) (#647)
Co-authored-by: an-tao <antao2002@gmail.com>
2020-12-11 14:02:47 +08:00
An Tao 7dd2d6123b
Add the reuse_port option (#634) 2020-11-25 19:47:36 +08:00
An Tao dbf21f7dbc
Fix a bug when creating sqlite3 database models (#618) 2020-10-27 21:26:01 +08:00
Amirali Amirifar 17b3ea471d
Remove duplicate definition of `args` vector. (#609)
* Remove duplicate definition of `args` vector.

Removed duplicate definition of the variable `args` which could be defined in the first line rather than defining once in the if scope and once in the main function.
2020-10-13 10:29:01 +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
An Tao c264c91f38
Support namespaces when creating view source files (#606) 2020-10-09 21:41:27 +08:00
An Tao 465d2ebfe8
Disable TLS1.0/1.1 on HTTPS by default (#588) 2020-10-01 23:40:46 +08:00
An Tao d023743fa3
Fix a bug when creating models in some special cases (#577) 2020-09-17 20:48:16 +08:00
An Tao f1a7462c4c
Modify the Result class in orm (#541) 2020-08-16 20:00:14 +08:00
itgenie98 168d2afb17
Fixing bug in drogon_ctl when creating a model, that causes to write the content of the header and sourcefiles multiple times (#540) 2020-08-15 07:14:52 +08:00
An Tao 80a8f62e30
Change the type of result from the mktime() function in model source code (#524) 2020-08-05 20:01:51 +08:00
An Tao 9c54fb8c69
Modify generation of models and the DbClient class (#498)
* Add setter method for automatical fields of models

* Put SQL queries into buffer before any connection being established

* Update trantor
2020-07-03 12:19:40 +08:00
An Tao 8f6269b208
Add a method to disable unicode escaping in json string (#491) 2020-06-24 08:11:32 +08:00
An Tao 3424d3f2c4
Add a way to set the character set when creating DbClient objects (#486) 2020-06-20 20:21:14 +08:00
An Tao 56b5d03fed
Remove the restriction on the location of layout tags in views (#484) 2020-06-18 21:44:54 +08:00
An Tao 4ebb72b0cf
Fix a bug with quoted column names in sqlite3 databases when using 'drogon_ctl create model'(#474) 2020-06-14 09:13:49 +08:00
Rafał Bugajewski 9e959397af
Fixed Model Generation for PostgreSQL Primary Keys (#471)
As per definition Drogon should return the last ID after an insert
when “a table contains an auto-increasing primary key”, but the
current detection mechanism isn’t enough to catch all cases.

PostgreSQL has the concept of generated identity columns that act as
primary key columns, but this information is held in the "is_identity"
column that wasn’t checked before.

This commit fixes #410, and also detects generated identity columns as
auto incrementing columns, so that the model generation correctly
appends " returning " statements.
2020-06-10 23:55:03 +08:00
antao 84e503a948 Bump version to 1.0.0-beta17 2020-05-23 10:47:24 +08:00
An Tao 7b1712003d
Modify drogon_ctl to show more compilation information (#441) 2020-05-21 21:14:40 +08:00
Rafał Bugajewski 398b028046
Pass Data From View to Its Layout Container (#429) 2020-05-09 14:13:20 +08:00
antao 8ecfe9ef84 Fix a bug in drogon_ctl 2020-05-07 18:57:03 +08:00
An Tao 490def6742
Add filters on static file locations (#422) 2020-05-03 08:21:34 +08:00
An Tao 4f8290b589
Remove non standard macros (#415) 2020-04-25 02:12:44 +08:00
interfector18 17b8c337f9
Standardize Row and Result api (#409)
* Standardize Row and Result api, throw specific exceptions

* Fix drogon_ctl for sqlite3 models

* Add mysql and sqlite3 tests, add exception throwing tests

* configure mysql in travis-ci

Co-authored-by: antao <antao2002@gmail.com>
2020-04-11 11:46:47 +08:00
An Tao c43ba9e514
Add support for brotli compression (#406) 2020-04-04 18:15:15 +08:00
An Tao 7af67dc4da
Make CMake install files relocatable (#387) 2020-03-18 19:54:48 +08:00
An Tao dd8fbe04cd
Addressed an issue when loading layout views dynamically (#378) 2020-03-12 10:26:07 +08:00
An Tao ebb8b7b70a
Add ENABLE_EXPORTS property in cmake configuration files (#375) 2020-03-05 22:03:41 +08:00
ihmc3jn09hk 686e30b250
Fix bug for PR #369 (#370)
Missing ">" for model.csp template
2020-03-01 18:07:21 +08:00
An Tao 8d17cc567e
Fix the 'many to many' relationship (#369) 2020-03-01 16:48:18 +08:00
An Tao 810896c94c
Fix warnings on Windows (#368) 2020-03-01 11:50:47 +08:00
ihmc3jn09hk 4bd19773b5
Update for ORM time mapper (#367)
The timelocal() function is equivalent to the POSIX standard function mktime(3). There is no reason to ever use it.
https://linux.die.net/man/3/timelocal
2020-03-01 02:33:01 +08:00
An Tao e171874524
Modify installation on Windows (#366) 2020-02-29 15:46:08 +08:00
An Tao ee77800821
Implement br_static (#359) 2020-02-23 17:39:03 +08:00
An Tao 71b60823da
Modify dynamic view loading algorithm (#339) 2020-02-16 17:19:16 +08:00
ihmc3jn09hk 3c15f65a7f
Add IOLoop access function. (#353)
Co-authored-by: An Tao <antao2002@gmail.com>
2020-02-16 16:48:35 +08:00
ihmc3jn09hk b733eee7e4
A small fix. (#345)
* Fix missed "password" fix for MySQL.

* Update trantor

Co-authored-by: An Tao <antao2002@gmail.com>
2020-02-08 11:08:11 +08:00
An Tao 3d8c304a47
Remove get_version.sh (#344) 2020-02-06 22:13:50 +08:00
An Tao dd5e8f8159
Support 'password' keyword in configuration files (#343)
* Support 'password' keyword in configuration files

* Update travis-ci
2020-02-04 10:58:10 +08:00
An Tao ce675c1b87
Fix a bug in views generation (#341) 2020-02-03 08:39:48 +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 fb2343ac74 Add location configuration for static resources (#331) 2020-01-12 11:05:38 +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 5c1c73d9b6
Add the SecureSSLRedirector plugin (#306) 2019-11-30 08:35:40 +08:00
An Tao 40ffb2d2af
Modify some code styles (#298) 2019-11-21 11:27:47 +08:00
An Tao b34b3a6068
Fix a bug in dg_ctl for creating models of sqlite3 (#297) 2019-11-20 13:39:56 +08:00
An Tao a8ae91bee0
Make dg_ctl a symlink (#294) 2019-11-12 11:34:01 +08:00
An Tao dbf20200fc
Add the headers configuration option for static files (#290) 2019-10-31 15:47:12 +08:00
An Tao 876e21f492
Implement relationships in ORM (#288) 2019-10-26 23:44:31 +08:00
WojciechMigda c9076220ac Fix size_t underflow (#272)
This fixes abnormal behaviour when controller without namespace
is being created
2019-10-06 09:43:08 +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
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 456d003482
Add prefixes to column name variables in model classes (#242) 2019-09-13 08:28:58 +08:00
An Tao 1e83a5cc4e
Fix a bug of creating models for mysql (#237) 2019-09-10 15:58:42 +08:00
An Tao aaaba8aa97
Fix a bug of models (#239) 2019-09-10 15:14:57 +08:00
An Tao 6ef7cffabb
Add the schema option for creating models (pg database only) (#238) 2019-09-10 13:46:10 +08:00
An Tao 657dc840a9
Modify the processing of bool type column in ORM (#231) 2019-09-02 07:47:36 +08:00
An Tao eb894396c7
Use find('x') instead of find(x) in a string search (#230) 2019-09-01 12:06:19 +08:00
An Tao aa26e9a903
Modify the CMakeLists to modern cmake style (#229) 2019-08-31 08:27:57 +08:00
An Tao a0b68fb3c9
Optimize request headers processing (#228) 2019-08-27 13:55:52 +08:00
An Tao 4e274b1a2e
Modify the orm command of drogon_ctl (#224) 2019-08-24 18:43:05 +08:00
An Tao b5a142a10e
Fix bugs in default return values of functions (#220) 2019-08-22 22:23:50 +08:00
An Tao f940b6f2cd
Modify some stuff (#216) 2019-08-17 20:05:32 +08:00
An Tao a6e2d4f007
Modify the drogon_ctl (#213) 2019-08-16 13:11:21 +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 bf9313a164
Modify the 'create view' command of drogon_ctl (#208) 2019-08-07 12:55:14 +08:00
An Tao ba7d788184
Add options for 'Server' header and 'Date' header (#202) 2019-07-31 19:44:32 +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