#include <ErrorDetailManager.h>

Public Member Functions | |
ErrorDetailsManager () | |
bool | getErrorDetail (Security::ErrorCode value, const HttpRequest::Pointer &request, ErrorDetailEntry &entry) |
const char * | getDefaultErrorDescr (Security::ErrorCode value) |
the default error description for a given error More... | |
const char * | getDefaultErrorDetail (Security::ErrorCode value) |
the default error details for a given error More... | |
Static Public Member Functions | |
static ErrorDetailsManager & | GetInstance () |
Instance class. More... | |
static void | Shutdown () |
reset the ErrorDetailsManager instance More... | |
Private Types | |
typedef std::map< std::string, ErrorDetailsList::Pointer > | Cache |
Private Member Functions | |
ErrorDetailsList::Pointer | getCachedDetails (const char *lang) |
Return cached error details list for a given language if exist. More... | |
void | cacheDetails (ErrorDetailsList::Pointer &errorDetails) |
cache the given error details list. More... | |
Private Attributes | |
Cache | cache |
the error details list cache More... | |
ErrorDetailsList::Pointer | theDefaultErrorDetails |
the default error details list More... | |
Static Private Attributes | |
static ErrorDetailsManager * | TheDetailsManager = nullptr |
An instance of ErrorDetailsManager to be used by squid (ssl/ErrorDetails.*) More... | |
Detailed Description
It is used to load, manage and query multiple ErrorDetailLists objects.
Definition at line 59 of file ErrorDetailManager.h.
Member Typedef Documentation
◆ Cache
|
private |
Definition at line 86 of file ErrorDetailManager.h.
Constructor & Destructor Documentation
◆ ErrorDetailsManager()
Ssl::ErrorDetailsManager::ErrorDetailsManager | ( | ) |
Definition at line 98 of file ErrorDetailManager.cc.
References TemplateFile::loadDefault().
Member Function Documentation
◆ cacheDetails()
|
private |
Definition at line 117 of file ErrorDetailManager.cc.
References assert, Ssl::ErrorDetailsList::errLanguage, and String::termedBuf().
◆ getCachedDetails()
|
private |
Definition at line 105 of file ErrorDetailManager.cc.
References debugs.
◆ getDefaultErrorDescr()
const char * Ssl::ErrorDetailsManager::getDefaultErrorDescr | ( | Security::ErrorCode | value | ) |
Definition at line 169 of file ErrorDetailManager.cc.
◆ getDefaultErrorDetail()
const char * Ssl::ErrorDetailsManager::getDefaultErrorDetail | ( | Security::ErrorCode | value | ) |
Definition at line 175 of file ErrorDetailManager.cc.
◆ getErrorDetail()
bool Ssl::ErrorDetailsManager::getErrorDetail | ( | Security::ErrorCode | value, |
const HttpRequest::Pointer & | request, | ||
ErrorDetailEntry & | entry | ||
) |
Retrieve error details for an error. This method examine the Accept-Language of the request to retrieve the error details for requested language else return the default error details.
- Parameters
-
value the error code request the current HTTP request. entry where to store error details
- Returns
- true on success, false otherwise
Definition at line 126 of file ErrorDetailManager.cc.
References Http::ACCEPT_LANGUAGE, debugs, Ssl::ErrorDetailsList::errLanguage, Ssl::GetErrorName(), HttpHeader::getList(), RefCount< C >::getRaw(), Ssl::ErrorDetailsList::getRecord(), Http::Message::header, TemplateFile::language(), TemplateFile::loadFor(), and strHdrAcptLangGetItem().
◆ GetInstance()
|
static |
Definition at line 83 of file ErrorDetailManager.cc.
References assert.
Referenced by Ssl::errorDetailInitialize(), and Security::ErrorDetail::verbose().
◆ Shutdown()
|
static |
Definition at line 92 of file ErrorDetailManager.cc.
Referenced by Ssl::errorDetailClean().
Member Data Documentation
◆ cache
|
private |
Definition at line 87 of file ErrorDetailManager.h.
◆ theDefaultErrorDetails
|
private |
Definition at line 88 of file ErrorDetailManager.h.
◆ TheDetailsManager
|
staticprivate |
Definition at line 91 of file ErrorDetailManager.h.
The documentation for this class was generated from the following files:
- src/ssl/ErrorDetailManager.h
- src/ssl/ErrorDetailManager.cc