Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows
Add client cert support for websocket.
Add JSON send overloads for WebSocket connections.
Minor enhancement: move some smart pointers around instead of copying them.
Remove the request shared_ptr from the multipart parser.
Fix typo in HttpAppFrameworkImpl.cc.
Avoid string copy and lowercasing on every request.
Implemented database reconnection loop.
Added getParameter() and getOptionalParameter().
Change drogon::MultiPartParser's parameters data type.
Use std::string_view for WebSockets.
Add support for gentoo linux, dev-db/mariadb contains mysql.
Introduce cpplint to the CI.
Enable readability/alt_tokens for cpplint.
Use clang-format-17.
Add newline at EOF.
Enable readability/inheritance for cpplint.
Enable build/explicit_make_pair for cpplint.
Enable build/include_order for cpplint.
Enable build/header_guard for cpplint.
Enable build/storage_class for cpplint.
Enable readability/multiline_string for cpplint.
Alias the safe hashmap template.
Simplify traits in utils.
Enhancement: extend drogon::ContentType for file handling.
Fix a wrong place of return.
Fix drogon::util::fromString().
Feature: Integrate spdlog as logging backend.
Support asynchronous sending of chunked responses.
Modify the configuration file templates in drogon_ctl.
Use execute_process instead of exec_program in FindJsoncpp.cmake.
GitHub Action to find typos in the codebase using codespell.
add discord link to readme.
Add -k option to the drogon_ctl when running the press command.
Refine request routing process.
Add CI tests with more compilers.
Avoid a race condition in database listener tests.
Remove macos-11 CI; not supported by Homebrew.
Bump github/codeql-action from 2 to 3.
Move the RealIpResolver plugin to the PreRouting join point.
Fix: typo on Mapper method.
Fix a error of coroutines on Windows.
Fix ORM: The original way did not handle exceptions correctly.
Remove the default ctor of the Row class in ORM.
Set the url of trantor to the official repository.
Fix htonll/ntohll redefinition.
Fix building with MSYS2.
Fix name issue when cross-compiling.
Pass HttpRequestPtr to custom error handlers.
Provide some functions for incrementing the value of given columns.
Return HttpAppFramework by setExceptionHandler.
Custom sessions.
Use the constexpr if instead of std::enable_if.
Make id generator consistent.
Update test_cmake.csp.
Simplify drogon test with c++17.
Remove unused and undefined overloads of isBase64.
Fix build due to trantor commit out of date and address warnings.
Fix a bug of the GlobalFilters plugin.
Fix: uuid formatting.
Update the ubuntu Dockerfile;
Add optional Criteria && || operator support;
Bump actions/checkout from 3 to 4;
Make & and * directly adjacent to variable names;
Use wss://echo.websocket.events/.ws in WebSocket client example;
Change logs in the AccessLogger plugin to TRACE level;
Fix an error in the secureRandomString function;
FIX int mapping to int64_t instead of uint64_t;
Drop cpp14 build support.
Add isHead() method to HttpRequest, to preserve information about the original method for use in the controller.
Allow omitting template paremeter in execCommandSync.
Add a method to HttpRequest to access the matched routing parameters.
Update readme files.
Allow sync advice to be callable on websocket requests.
Set concurrency to prevent blocking CI queue.
Validate clang-format version & Customize clang-format path.
Extract format action into distinct job.
Split macOS and Ubuntu CIs for readability.
Set concurrency for CodeQL.
Add dependabot.yml for GH actions.
Replace sprintf with snprintf.
Use ninja to build faster.
Avoid using well-known ports for demoMain.
Simplify coroutine implementation.
Add a plugin for prometheus.
Optimize plugins with redirection functions.
Optimize regex generator.
Add override keyword to setSockOptCallback.
SlashRemover optimization.
Add the forwardCoro method to HttpAppFramework.
Possibility to add plugins without config file.
Implement QueryBuilder.
Add getOriginalPath function.
Add setsockopt to HttpClient.
Add overload function of newHttpResponse.
Add getConnectionCount method.
Add synchronization interface to model's associated query.
Use syncAdvices.empty() to check.
Remove the deprecated Json::Reader.
Adapt Drogon to take advitange of Trantor TLS refactor.
Add avatars of all contributors to the readme file.
Remove docsforge from readme.
Adapt to gcc13.
Modify the HttpMessageBody class.
Add the GlobalFilters plugin.
Add filters and plugins to the drogon.h header file.
Add webp and svg to the default file_types.
Update SqlBinder.h.
Remove path from COMPILER_COMMAND.
Hodor plugin - Use IP bytes for user IP identification.
Add SlashRemover plugin.
Support setting max_files in loggers.
Use shared_ptr to store plugins.
Throw custom exception in HttpClient.
Base64 improvements.
Add CT_TEXT_JAVASCRIPT.
Fix typo in newHttpJsonResponse documentation.
Add CodeQL workflow.
constexpr base64 length calculators.
Make isBase64() and isInteger() take string_view.
Chore: add package.xml.
Add an example of yaml config file.
Remove some unused functions.
Use unsigned char to call the std::isspace function.
Change options BUILD_CTL and BUILD_EXAMPLES and update readme with Building options.
Remove unused CI files and Jekyll config.
Ensure that all filters, AOP advices, and handlers are executed within the IO threads.
Update test.sh and build.sh by appending prefix "X" to string variable comparisons.
Recognize URI in request lines.
Address warnings on macOS CI.
Perform insensitive string compare of cookie SameSite attribute.
Temporary fix dead HttpClient.
Fix a configuration error when building drogon_ctl.
Fix generation of JSON field validation for short type.
Fix bug on Mac M1 with redis chat example code.
Fix error: conversion from ‘long int’ to ‘Json::Value’ is ambiguous.
Bugfix: PgBatchConnection did not report error message.
Fix typo in config file.
Fix a hanging bug when writing large string to text field.
Fixed logic error of limiterExpireTime_.
Fix Missing Header BaseBuilder.h in CMakeLists.
Fix: Coroutine handle should be captured by value.
Fix issues in the ListParaView and content types.
Fix target link libraries of yaml-cpp to comaptiable with vcpkg.
Fix build error on win32/mingw.
Fix CI in MacOS.
Fix broken link in CONTRIBUTING.md.
Add a configuration option to display local time in logs.
Add the stackLimit option for jsoncpp.
Add coroutine to wait until event loop ends.
Add switchThreadCoro().
Add queueInLoopCoro function.
Reduce overhead of constructing string from request status.
Add coroutine parameter binding test and make tests not blocking.
Use weakptr instead of shared_ptr in HttpClient.
Refactor HttpServer codes.
Add an option in CMakeLists.txt to set how to use trantor.
Add support to yaml config file.
Changes to free http client if no request is pending.
Trigger error message in drogon test when faced with bad parameter.
Make the token bucket full when it is initialized
Fix file r/w race condition in integration test.
Postgresql: don't handle events anymore after connection closing.
Fix multipart boundary with charset.
Fix a conan issue in github actions.
Hold shared pointer from the very beginning in WebSocketConnectionImpl.