WebFramework v3.0.12
Web framework for C++.
Loading...
Searching...
No Matches
framework::BaseExecutor Class Referenceabstract

Base class for all executors. More...

#include <BaseExecutor.h>

Inheritance diagram for framework::BaseExecutor:
framework::BaseHeavyOperationStatefulExecutor framework::BaseHeavyOperationStatelessExecutor framework::BaseStatefulExecutor framework::BaseStatelessExecutor framework::ResourceExecutor

Public Types

enum class  executorType {
  none , stateful , stateless , heavyOperationStateful ,
  heavyOperationStateless
}
 

Public Member Functions

virtual void init (const utility::JSONSettingsParser::ExecutorSettings &settings)
 Initializing executor before use.
 
virtual void doPost (HTTPRequest &request, HTTPResponse &response)
 Process POST request.
 
virtual void doGet (HTTPRequest &request, HTTPResponse &response)
 Process GET request.
 
virtual void doHead (HTTPRequest &request, HTTPResponse &response)
 Process HEAD request.
 
virtual void doPut (HTTPRequest &request, HTTPResponse &response)
 Process PUT request.
 
virtual void doDelete (HTTPRequest &request, HTTPResponse &response)
 Process DELETE request.
 
virtual void doPatch (HTTPRequest &request, HTTPResponse &response)
 Process PATCH request.
 
virtual void doOptions (HTTPRequest &request, HTTPResponse &response)
 Process OPTIONS request.
 
virtual void doTrace (HTTPRequest &request, HTTPResponse &response)
 Process TRACE request.
 
virtual void doConnect (HTTPRequest &request, HTTPResponse &response)
 Process CONNECT request.
 
virtual void destroy ()=0
 
virtual executorType getType () const =0
 

Detailed Description

Base class for all executors.

Definition at line 21 of file BaseExecutor.h.

Member Enumeration Documentation

◆ executorType

enum class framework::BaseExecutor::executorType
strong

Definition at line 24 of file BaseExecutor.h.

Member Function Documentation

◆ destroy()

virtual void framework::BaseExecutor::destroy ( )
pure virtual

◆ doConnect()

void framework::BaseExecutor::doConnect ( HTTPRequest & request,
HTTPResponse & response )
virtual

Process CONNECT request.

Parameters
requestRequest controller
responseResponse controller

Definition at line 91 of file BaseExecutor.cpp.

◆ doDelete()

void framework::BaseExecutor::doDelete ( HTTPRequest & request,
HTTPResponse & response )
virtual

Process DELETE request.

Parameters
requestRequest controller
responseResponse controller
Exceptions
framework::exceptions::NotImplementedException

Definition at line 41 of file BaseExecutor.cpp.

◆ doGet()

void framework::BaseExecutor::doGet ( HTTPRequest & request,
HTTPResponse & response )
virtual

Process GET request.

Parameters
requestRequest controller
responseResponse controller
Exceptions
framework::exceptions::NotImplementedException

Reimplemented in framework::ResourceExecutor.

Definition at line 26 of file BaseExecutor.cpp.

◆ doHead()

void framework::BaseExecutor::doHead ( HTTPRequest & request,
HTTPResponse & response )
virtual

Process HEAD request.

Parameters
requestRequest controller
responseResponse controller
Exceptions
framework::exceptions::NotImplementedException

Definition at line 31 of file BaseExecutor.cpp.

◆ doOptions()

void framework::BaseExecutor::doOptions ( HTTPRequest & request,
HTTPResponse & response )
virtual

Process OPTIONS request.

Parameters
requestRequest controller
responseResponse controller
Exceptions
framework::exceptions::NotImplementedException

Definition at line 51 of file BaseExecutor.cpp.

◆ doPatch()

void framework::BaseExecutor::doPatch ( HTTPRequest & request,
HTTPResponse & response )
virtual

Process PATCH request.

Parameters
requestRequest controller
responseResponse controller

Definition at line 46 of file BaseExecutor.cpp.

◆ doPost()

void framework::BaseExecutor::doPost ( HTTPRequest & request,
HTTPResponse & response )
virtual

Process POST request.

Parameters
requestRequest controller
responseResponse controller
Exceptions
framework::exceptions::NotImplementedException

Reimplemented in framework::ResourceExecutor.

Definition at line 21 of file BaseExecutor.cpp.

◆ doPut()

void framework::BaseExecutor::doPut ( HTTPRequest & request,
HTTPResponse & response )
virtual

Process PUT request.

Parameters
requestRequest controller
responseResponse controller
Exceptions
framework::exceptions::NotImplementedException

Definition at line 36 of file BaseExecutor.cpp.

◆ doTrace()

void framework::BaseExecutor::doTrace ( HTTPRequest & request,
HTTPResponse & response )
virtual

Process TRACE request.

Parameters
requestRequest controller
responseResponse controller

Definition at line 82 of file BaseExecutor.cpp.

◆ getType()

virtual executorType framework::BaseExecutor::getType ( ) const
pure virtual

By default all executors must be inherited from BaseStatelessExecutor or BaseStatefullExecutor

BaseStatelessExecutor override this method by getting executorType::stateless

BaseStatefulExecutor override this method by getting executorType::stateful

ExecutorsManager can manage executors by getting type of executorType enum class

Returns
stateful, stateless or none value

Implemented in framework::BaseHeavyOperationStatefulExecutor, framework::BaseHeavyOperationStatelessExecutor, framework::BaseStatefulExecutor, and framework::BaseStatelessExecutor.

◆ init()

void framework::BaseExecutor::init ( const utility::JSONSettingsParser::ExecutorSettings & settings)
virtual

Initializing executor before use.

Parameters
settingsproviding parameters from .json to executor

Reimplemented in framework::ResourceExecutor.

Definition at line 16 of file BaseExecutor.cpp.


The documentation for this class was generated from the following files: