FastCGI: получить заголовки запроса
В настоящее время я работаю над приложением Web C ++, использующим FastCGI с Apache и mod_fcgid.
Я пытаюсь получить заголовки запроса, но я не нашел, как это сделать. После некоторых исследований я подумал, что заголовки находятся в атрибуте «envp» «FCGX_Request», но он содержит переменные среды, такие как:
REMOTE_ADDR: 192.168.0.50
SERVER_SOFTWARE: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/1.0.0f DAV/2 mod_fcgid/2.3.6
REDIRECT_UNIQUE_ID: TxytP38AAAEAABpcDskAAAAE
FCGI_ROLE: RESPONDER
HTTP_ACCEPT_LANGUAGE: fr
SERVER_SIGNATURE: <address>Apache/2.2.21 [etc.]
Эти переменные предоставляют мне полезную информацию, но мне нужны настоящие HTTP-заголовки, особенно «Cookie». Я попытался прочитать в потоке «in» «FCGX_Request», но, похоже, это для тела запроса (данные POST). Поскольку мое приложение должно быть многопоточным, я использую «FCGX_Accept_r ()», например так:
while(true)
{
FCGX_Init();
FCGX_Request* fcgiRequest = new FCGX_Request;
FCGX_InitRequest(fcgiRequest, 0, 0);
if(FCGX_Accept_r(fcgiRequest) < 0)
break;
Request* request = new Request(fcgiRequest);
request->process();
}
Но на самом деле я не использую темы. Запросы выполняются один за другим.
Как я могу получить заголовки запроса?
Спасибо.