Package: wnpp Severity: wishlist Owner: Pierre-Elliott Bécue <p...@debian.org> X-Debbugs-Cc: debian-devel@lists.debian.org
* Package name : drogon Version : 1.8.4 Upstream Author : An Tao <antao2...@gmail.com> * URL : https://github.com/drogonframework/drogon * License : MIT Programming Lang: C++ Description : C++14/17-based HTTP application framework Drogon can be used to easily build various types of web application server programs using C++. Drogon is the name of a dragon in the American TV series "Game of Thrones" that I really like. Drogon is a cross-platform framework, It supports Linux, macOS, FreeBSD, OpenBSD, HaikuOS, and Windows. Its main features are as follows: * Use a non-blocking I/O network lib based on epoll (kqueue under macOS/FreeBSD) to provide high-concurrency, high-performance network IO, please visit the TFB Tests Results for more details; * Provide a completely asynchronous programming mode; * Support Http1.0/1.1 (server side and client side); * Based on template, a simple reflection mechanism is implemented to completely decouple the main program framework, controllers and views. * Support cookies and built-in sessions; * Support back-end rendering, the controller generates the data to the view to generate the Html page. Views are described by CSP template files, C++ codes are embedded into Html pages through CSP tags. And the drogon command-line tool automatically generates the C++ code files for compilation; * Support view page dynamic loading (dynamic compilation and loading at runtime); * Provide a convenient and flexible routing solution from the path to the controller handler; * Support filter chains to facilitate the execution of unified logic (such as login verification, Http Method constraint verification, etc.) before handling HTTP requests; * Support https (based on OpenSSL); * Support WebSocket (server side and client side); * Support JSON format request and response, very friendly to the Restful API application development; * Support file download and upload; * Support gzip, brotli compression transmission; * Support pipelining; * Provide a lightweight command line tool, drogon_ctl, to simplify the creation of various classes in Drogon and the generation of view code; * Support non-blocking I/O based asynchronously reading and writing database PostgreSQL and MySQL(MariaDB) database); * Support asynchronously reading and writing sqlite3 database based on thread pool; * Support Redis with asynchronous reading and writing; * Support ARM Architecture; * Provide a convenient lightweight ORM implementation that supports for regular object-to-database bidirectional mapping; * Support plugins which can be installed by the configuration file at load time; * Support AOP with build-in joinpoints. * Support C++ coroutines This package is needed by weakforced, which I also intend to package. For now these packages will be in collab-maint, but I'll see if they could go somewhere. I'm maintaining them as part of my work at Gandi.net. This is therefore a Gandi.net contribution to the Debian Project.