A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
Permalink
Failed to load latest commit information.
Cutelyst Memcached plugin: add function to check libMemcached version Jul 19, 2018
EventLoopEPoll wsgi: Fix unregistering QSocketNotifiers from notifiers hash May 23, 2018
cmake/modules Doxygen: do not use versions everywhere Jan 11, 2018
cmd Explicit link against Cutelyst core and epoll fixing buildroot build Jul 16, 2018
dox doc: Update cutelyst-wsgi2 manual page Mar 20, 2018
i18n Add translation extration script and building of translations Feb 8, 2018
qtcreator/cutelyst Fix template linking Feb 7, 2018
tests Memcached plugin: add function to check libMemcached version Jul 19, 2018
uwsgiEngine core: Decode URL path before processing Jul 4, 2018
wsgi wsgi: Fix pkg-config linkage Sep 6, 2018
.travis.yml CI changes for ValidatorPwQuality: only enable on linux and add Feb 2, 2018
AUTHORS Give proper credit to Perl Catalyst Framework Dec 1, 2013
CMakeLists.txt trivial: post-release minor version bump Jul 17, 2018
COPYING Initial awesome commit of Cutelyst Oct 29, 2013
MAINTAINERS Initial awesome commit of Cutelyst Oct 29, 2013
Messages.sh Add translation extration script and building of translations Feb 8, 2018
NEWS Initial awesome commit of Cutelyst Oct 29, 2013
README.md Update README.md May 10, 2018
RELEASE Initial awesome commit of Cutelyst Oct 29, 2013
TODO Initial awesome commit of Cutelyst Oct 29, 2013
appveyor.yml appveyor: try to fix Qt5.10 with msvc17 May 22, 2018
config.h.in Add I18NDIR to the variables substituted in config.h.in Feb 8, 2018

README.md

Cutelyst - The Qt Web Framework Cutelyst logo

Build Status Windows Build status Codacy Badge

A Web Framework built on top of Qt, using the simple and elegant approach of Catalyst (Perl) framework.

Qt's meta object system is what powers the core of Cutelyst, it allows for introspecting controller's methods signatures and generate matching actions that can be invoked later.

BENCHMARKS

Don't trust us on being fast, check out the most comprehensive web framework benchmarks by TechEmpower http://www.techempower.com/benchmarks/

FEATURES:

  • Cross-platform
  • Stable API/ABI - v1 on v1.x.x branch and v2 on tagged from master
  • Pluggable Engines
    • Cutelyst-WSGI - A cross-platform and fast WSGI engine
      • HTTP/1.1 - Pipelining and Keep-Alive
      • HTTP/2 - Upgrade to H2, ALPN negotiation on HTTPS and direct H2C
      • FastCGI - Pipelining and Keep-Alive
    • uWSGI - Multiple protocols support (HTTP 1.0, FastCGI, uWSGI)
  • WebSockets
  • REST with ActionREST
  • Plugin based views
  • Dispatcher
    • Chained
    • Path
  • Plugins
    • Session
    • Authentication (with PBKDF2)
    • Authorization with RoleACL
    • StatusMessage
    • Validator (to validate user input)
    • CSRF protection
    • Memcached
  • Upload parser
  • JSON body as QJsonDocument when uploaded data is in JSON format
  • C++11
  • Chunked reponses (via QIODevice write API)
  • Request profiling/stats
  • Asynchronous processing (was broken and will be redesigned, don't use local QEventLoops or it will eventually crash)
  • Unit tested
  • QtCreator integration

DOCUMENTATION

Get started with our Tutorial or check the API.

COMMUNITY

The Cutelyst project IRC channel is #cutelyst on freenode.

Or you can use the Mailing List

REQUIREMENTS

  • CMake - for the build system (>= 3.1)
  • Qt - the core library of this framework (>= 5.6)

OPTIONAL

  • uWSGI - to receive and parse protocols requests (>= 1.9 recommended)

LICENSE

The library is under the LGPLv2+ and public header files, documentation and examples are under MIT license.