SUPPORT-9332. Добавлена специальная обработка ошибок при проверке цепочки сертификатов
This commit is contained in:
parent
fc0a184a89
commit
f53d4f86a5
11 changed files with 266 additions and 125 deletions
|
|
@ -1,9 +1,11 @@
|
|||
#include "fcgi_server_internal.h"
|
||||
|
||||
#include "utils/logger.h"
|
||||
#include "utils/response_builder.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
int
|
||||
fcgi_get_content_length(const FCGX_Request* request)
|
||||
{
|
||||
|
|
@ -161,3 +163,31 @@ fcgi_printf_header(const FCGX_Request* request, const char* name, const char* va
|
|||
|
||||
return HANDLER_SUCCESS;
|
||||
}
|
||||
|
||||
fcgi_handler_status_t
|
||||
fcgi_500_internal_server_error_handler(const FCGX_Request* request, const char *error_code)
|
||||
{
|
||||
LOG_TRACE("fcgi_500_internal_server_error_handler");
|
||||
|
||||
char *response = build_response_from_error_code(error_code);
|
||||
if (response == NULL) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
LOG_DEBUG("response status: " FCGI_500_RESPONSE_FORMAT, response);
|
||||
|
||||
if (FCGX_FPrintF(request->out, FCGI_500_RESPONSE_FORMAT, response) < 0) {
|
||||
LOG_ERROR("FCGX_FPrintF() failed");
|
||||
goto error;
|
||||
}
|
||||
|
||||
fcgi_print_log(request, "500 Internal Server Error");
|
||||
|
||||
free(response);
|
||||
return HANDLER_SUCCESS;
|
||||
|
||||
error:
|
||||
free(response);
|
||||
LOG_ERROR("fcgi_500_internal_server_error_handler exit with error");
|
||||
return HANDLER_ERROR;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue