#include <ErrorDetailManager.h>
Public Member Functions | |
ErrorDetailsManager () | |
const ErrorDetailEntry * | findDetail (Security::ErrorCode value, const HttpRequest::Pointer &request) const |
const ErrorDetailEntry * | findDefaultDetail (Security::ErrorCode) const |
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) const |
Return cached error details list for a given language if exist. More... | |
void | cacheDetails (const ErrorDetailsList::Pointer &errorDetails) const |
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 87 of file ErrorDetailManager.h.
Constructor & Destructor Documentation
◆ ErrorDetailsManager()
Ssl::ErrorDetailsManager::ErrorDetailsManager | ( | ) |
Definition at line 90 of file ErrorDetailManager.cc.
References TemplateFile::loadDefault().
Member Function Documentation
◆ cacheDetails()
|
private |
Definition at line 111 of file ErrorDetailManager.cc.
References assert, Ssl::ErrorDetailsList::errLanguage, and String::termedBuf().
◆ findDefaultDetail()
const Ssl::ErrorDetailEntry * Ssl::ErrorDetailsManager::findDefaultDetail | ( | Security::ErrorCode | value | ) | const |
Default error details for the given TLS error known to Squid (or, if the error is unknown, nil). Use findDetail() instead when the error is tied to a specific request.
Definition at line 158 of file ErrorDetailManager.cc.
◆ findDetail()
const Ssl::ErrorDetailEntry * Ssl::ErrorDetailsManager::findDetail | ( | Security::ErrorCode | value, |
const HttpRequest::Pointer & | request | ||
) | const |
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.
Definition at line 120 of file ErrorDetailManager.cc.
References Http::ACCEPT_LANGUAGE, assert, debugs, Ssl::ErrorDetailsList::errLanguage, Ssl::ErrorDetailsList::findRecord(), HttpHeader::getList(), RefCount< C >::getRaw(), Http::Message::header, TemplateFile::language(), TemplateFile::loadFor(), and strHdrAcptLangGetItem().
◆ getCachedDetails()
|
private |
Definition at line 98 of file ErrorDetailManager.cc.
References debugs.
◆ GetInstance()
|
static |
Definition at line 75 of file ErrorDetailManager.cc.
References assert.
Referenced by Ssl::errorDetailInitialize(), and Security::ErrorDetail::verbose().
◆ Shutdown()
|
static |
Definition at line 84 of file ErrorDetailManager.cc.
Referenced by Ssl::errorDetailClean().
Member Data Documentation
◆ cache
|
mutableprivate |
Definition at line 88 of file ErrorDetailManager.h.
◆ theDefaultErrorDetails
|
private |
Definition at line 89 of file ErrorDetailManager.h.
◆ TheDetailsManager
|
staticprivate |
Definition at line 92 of file ErrorDetailManager.h.
The documentation for this class was generated from the following files:
- src/ssl/ErrorDetailManager.h
- src/ssl/ErrorDetailManager.cc