SUPPORT-9332. Добавлена специальная обработка ошибок при проверке цепочки сертификатов

This commit is contained in:
Наиля Алашкова 2025-08-19 11:40:27 +03:00
parent fc0a184a89
commit f53d4f86a5
11 changed files with 266 additions and 125 deletions

View file

@ -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;
}