allow a request to be processed in a job

Now we allow a request to be passed into a job queue,
and after the job finishes the request is passed into
a controller again. In order to achieve this we have
a requests queue in System, when we put a request
to the job this Request structure is preserved in the
queue and for a new request a new Request is added to
the queue.

while here:
- remove App::Lock()/Unlock(), use scoped locking
- fix: Plugin now has a Call method which takes ModelConnector
  and a logger (used in multithreaded environment)
- BaseThread has a main_model_connector pointer
  to the main (from the main thread) model connector
- the FastCGI structure fcgi_request moved from App to Request
- some methods for handling requests moved from App to Request
- small refactoring in main.cpp
- add Http class (a http client)
This commit is contained in:
2022-07-25 14:21:21 +02:00
parent b2d92b85a0
commit 979ef907fe
65 changed files with 7018 additions and 4437 deletions

View File

@@ -70,7 +70,7 @@ void PostParser::Parse(FCGX_Stream * in, Request & request)
HttpSimpleParser::Parse();
if( has_winix_raw_post_msg )
plugin->Call(0, WINIX_RAW_POST_STRING, &raw_post);
plugin->Call(WINIX_RAW_POST_STRING, &raw_post);
raw_post.clear();
}
@@ -114,7 +114,7 @@ void PostParser::CreateLog(bool param_added, const std::wstring & name, const st
void PostParser::Parameter(std::wstring & name, std::wstring & value)
{
if( has_winix_post_params_msg )
plugin->Call(0, WINIX_POST_PARAMS, &name, &value);
plugin->Call(WINIX_POST_PARAMS, &name, &value);
bool added = request->AddPostVar(name, value);
CreateLog(added, name, value);