drogon
C++14/17-based HTTP application framework
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 NdrogonDrogon Test is a minimal effort test framework developed because the major C++ test frameworks doesn't handle async programs well. Drogon Test's syntax is inspired by both Google Test and Catch2
 Ninternal
 CBinderArgTypeTraits
 CBinderArgTypeTraits< const T & >
 CBinderArgTypeTraits< const T && >
 CBinderArgTypeTraits< T & >
 CBinderArgTypeTraits< T && >
 CBinderArgTypeTraits< T * >
 CCanConstructFromString
 CCanConvertFromString
 CCanConvertFromStringStream
 CCanConvertFromStringStream< T, std::void_t< decltype(std::declval< std::stringstream & >() > > std::declval< T & >())> >
 CCanConvertToString
 CCanConvertToString< T, std::void_t< decltype(std::to_string(std::declval< T >()))> >
 CEndAwaiter
 CEventLoopAwaiter
 CFunctionTraits
 CFunctionTraits< ReturnType(*)(Arguments...)>
 CFunctionTraits< ReturnType(*)(const HttpRequestPtr &req, RequestStreamPtr &&streamCtx, std::function< void(const HttpResponsePtr &)> &&callback, Arguments...)>
 CFunctionTraits< ReturnType(*)(const HttpRequestPtr &req, std::function< void(const HttpResponsePtr &)> &&callback, Arguments...)>
 CFunctionTraits< ReturnType(*)(HttpRequestPtr &&req, std::function< void(const HttpResponsePtr &)> &&callback, Arguments...)>
 CFunctionTraits< ReturnType(*)(HttpRequestPtr &req, std::function< void(const HttpResponsePtr &)> &&callback, Arguments...)>
 CFunctionTraits< ReturnType(*)(T &&customReq, std::function< void(const HttpResponsePtr &)> &&callback, Arguments...)>
 CFunctionTraits< ReturnType(ClassType::*)(Arguments...) const >
 CFunctionTraits< ReturnType(ClassType::*)(Arguments...)>
 CHttpBinder
 CHttpBinderBase
 CHttpConstraint
 CLoopAwaiter
 Cresumable_type
 CSwitchThreadAwaiter
 CTimerAwaiter
 CWhenAllAwaiter
 CWhenAllAwaiter< std::vector< Task< T > > >
 CWhenAllAwaiter< std::vector< Task< void > > >
 Norm
 Ninternal
 CCallbackArgTypeTraits
 CCallbackArgTypeTraits< const T & >
 CCallbackArgTypeTraits< T & >
 CCallbackArgTypeTraits< T && >
 CCallbackArgTypeTraits< T * >
 CCallbackHolder
 CCallbackHolderBase
 CFunctionTraits
 CFunctionTraits< ReturnType(*)(Arguments...)>
 CFunctionTraits< ReturnType(*)(bool, Arguments...)>
 CFunctionTraits< ReturnType(ClassType::*)(Arguments...) const >
 CFunctionTraits< ReturnType(ClassType::*)(Arguments...)>
 CFunctionTraits< void(*)()>
 CFunctionTraits< void(*)(const DrogonDbException &)>
 CFunctionTraits< void(*)(const Result &)>
 CFunctionTraits< void(*)(const std::exception_ptr &)>
 Chas_sqlForDeletingByPrimaryKey
 Chas_sqlForFindingByPrimaryKey
 CSqlBinder
 CTraits
 CTraits< T, false >
 CVectorTypeTraits
 CVectorTypeTraits< std::string >
 CVectorTypeTraits< std::vector< std::shared_ptr< T > > >
 CArgumentErrorInvalid argument passed to drogon orm lib, similar to std::invalid_argument
 CArrayParserLow-level array parser
 CBaseBuilder
 CBrokenConnectionException class for lost or failed backend connection
 CCheckViolation
 CConstResultIterator
 CConstReverseResultIterator
 CConstReverseRowIterator
 CConstRowIterator
 CConversionErrorValue conversion failed, e.g. when converting "Hello" to int
 CCriteriaThis class represents a comparison condition
 CCustomSqlWrapper for custom SQL string
 CDataExceptionError in data provided to SQL statement
 CDbClientDatabase client abstract class
 CDbListenerDatabase asynchronous notification listener abstract class
 CDeadlockDetectedThe ongoing transaction has deadlocked. Retrying it may help
 CDefaultValue
 CDiskFull
 CDrogonDbExceptionMixin base class to identify drogon-db-specific exception types
 CFailure
 CFeatureNotSupportedDatabase feature not supported in current setup
 CFieldReference to a field in a result set
 CFilter
 CForeignKeyViolation
 CInDoubtError"Help, I don't know whether transaction was committed successfully!"
 CInsufficientPrivilege
 CInsufficientResourcesResource shortage on the server
 CIntegrityConstraintViolation
 CInternalErrorInternal error in internal library
 CInvalidCursorName
 CInvalidCursorState
 CInvalidSqlStatementName
 CJoinClause
 CMapperThe mapper template
 CMysqlConfig
 CNotNullViolation
 COutOfMemory
 CPostgresConfig
 CRangeErrorSomething is out of range, similar to std::out_of_range
 CRawParameter
 CRestrictViolation
 CResultResult set containing data returned by a query or command
 CRowReference to one row in a result
 CSerializationFailureTransaction failed to serialize. Please retry it
 CSqlErrorException class for failed queries
 CSqlite3Config
 CStatementCompletionUnknownWe can't tell whether our last statement succeeded
 CSyntaxError
 CTimeoutErrorTimeout error in when executing the SQL statement
 CTooManyConnections
 CTransaction
 CTransactionRollbackThe backend saw itself forced to roll back the ongoing transaction
 CTransformBuilder
 CUndefinedColumn
 CUndefinedFunction
 CUndefinedTable
 CUnexpectedRowsQuery returned an unexpected number of rows
 CUniqueViolation
 CUsageErrorError in usage of drogon orm library, similar to std::logic_error
 Nplugin
 CAccessLoggerThis plugin is used to print all requests to the log
 CGlobalFiltersThis plugin is used to add global filters to all HTTP requests. The json configuration is as follows:
 CHodorThe Hodor plugin implements a global rate limiter that limits the number of requests in a particular time unit. The json configuration is as follows:
 CPromExporterThe PromExporter plugin implements a prometheus exporter. The json configuration is as follows:
 CRealIpResolverThis plugin is used to resolve client real ip from HTTP request
 CRedirectorThis plugin is used to redirect requests to proper URLs. It is a helper plugin for other plugins, e.g. SlashRemover. Users can register a handler to this plugin to redirect requests. All handlers will be called in the order of registration. The json configuration is as follows:
 CSecureSSLRedirectorThis plugin is used to redirect all non-HTTPS requests to HTTPS (except for those URLs matching a regular expression listed in the 'ssl_redirect_exempt' list)
 CSlashRemoverThe SlashRemover plugin redirects requests to proper paths if they contain excessive slashes. The json configuration is as follows:
 Ntest
 Ninternal
 Cis_printable
 Cis_printable< _Tp, std::enable_if_t< std::is_same_v< decltype(std::cout<< std::declval< _Tp >()), std::ostream & > > >
 CComparsionResult
 CLhs
 CDecomposer
 CThreadSafeStream
 CCaseBase
 CCase
 CTestCase
 Nutils
 Ninternal
 CSafeStringHash
 CAsyncTask
 Cpromise_type
 CAttributesThis class represents the attributes stored in the HTTP request. One can add/get any type of data to/from an Attributes object
 Cawait_result
 CCacheMapCache Map
 CMapValue
 CCallbackAwaiter
 CCallbackAwaiter< void >
 CCallbackEntryA utility class for CacheMap
 CCookieThis class represents a cookie entity
 CDrClassMapA map class which can create DrObjects from names
 CDrObject
 CDrObjectBaseThe base class for all drogon reflection classes
 CDrTemplate
 CDrTemplateBaseThe templating engine class
 Cfinal_awaiterAn awaiter for Task::promise_type::final_suspend(). Transfer execution back to the coroutine who is co_awaiting this Task
 CHttpAppFramework
 CHttpClientAsynchronous http client
 CHttpControllerThe reflection base class template for HTTP controllers
 CHttpControllerBaseThe base class for HTTP controllers
 CHttpFileThis class represents a uploaded file by a HTTP request
 CHttpFilterThe reflection base class template for filters
 CHttpFilterBaseThe abstract base class for filters For more details on the class, see the wiki site (the 'Filter' section)
 CHttpMiddlewareThe reflection base class template for middlewares
 CHttpMiddlewareBaseThe abstract base class for middleware
 CHttpOptionsMiddleware
 CHttpOptionsMiddlewareAuto
 CHttpOptionsMiddlewareImplSimple middleware that tags OPTIONS requests
 CHttpRequestAbstract class for webapp developer to get or set the Http request;
 CHttpResponse
 CHttpSimpleControllerThe reflection base class template for HTTP simple controllers
 CHttpSimpleControllerBaseThe abstract base class for HTTP simple controllers
 CHttpViewDataThis class represents the data set displayed in views
 CIntranetIpFilterA filter that prohibit access from external networks
 CIOThreadStorageUtility class for thread storage handling
 Cis_awaitable
 Cis_awaitable< T, std::void_t< decltype(internal::getAwaiter(std::declval< T >()))> >
 Cis_resumable
 Cis_resumable< AsyncTask, std::void_t< AsyncTask > >
 Cis_resumable< T, std::void_t< decltype(internal::getAwaiter(std::declval< T >()))> >
 CisAutoCreationClass
 CIsPlugin
 CLocalHostFilterA filter that prohibit access from other hosts
 CMultipartHeader
 CMultiPartParser
 CMutex
 CNotFoundThis class is used by the drogon to generate the 404 page. Users don't use this class directly
 COStringStream
 CPluginThe reflection base class for plugins
 CPluginBaseThe abstract base class for plugins
 CPubSubServiceThis class template implements a publish-subscribe pattern with multiple named topics
 CRateLimiterThis class is used to limit the number of requests per second
 CRequestStream
 CRequestStreamReader
 CResponseStream
 CRestfulControllerThis class is a helper class for the implementation of restful api controllers generated by the drogon_ctl command
 CSafeRateLimiter
 CSessionThis class represents a session stored in the framework. One can get or set any type of data to a session object
 CStreamError
 CTask
 Cpromise_type
 CTask< void >
 Cpromise_type
 Ctask_awaiterConvert Task to an awaiter when it is co_awaited. Following things will happen:
 CTopicThis class template presents an unnamed topic
 CUploadFile
 CWebSocketClientWebSocket client abstract class
 CWebSocketConnectionThe WebSocket connection abstract class
 CWebSocketControllerThe reflection base class template for WebSocket controllers
 CWebSocketControllerBaseThe abstract base class for WebSocket controllers