9#ifndef SQUID_SRC_SSL_ERRORDETAILMANAGER_H
10#define SQUID_SRC_SSL_ERRORDETAILMANAGER_H
49 typedef std::map<Security::ErrorCode, ErrorDetailEntry>
ErrorDetails;
85 using Cache = std::map<SBuf, ErrorDetailsList::Pointer>;
#define RefCountable
The locking interface for use on Reference-Counted classes.
SBuf detail
for error page D macro expansion; may contain macros
SBuf name
a name for the error
SBuf descr
short error description (for use in debug messages or error pages)
RefCount< ErrorDetailsList > Pointer
std::map< Security::ErrorCode, ErrorDetailEntry > ErrorDetails
SBuf errLanguage
The language of the error-details.txt template, if any.
const ErrorDetailEntry * findRecord(Security::ErrorCode) const
ErrorDetails theList
The list of error details entries.
static void Shutdown()
reset the ErrorDetailsManager instance
ErrorDetailsList::Pointer getCachedDetails(const char *lang) const
Return cached error details list for a given language if exist.
const ErrorDetailEntry * findDefaultDetail(Security::ErrorCode) const
Cache cache
the error details list cache
static ErrorDetailsManager * TheDetailsManager
An instance of ErrorDetailsManager to be used by squid (ssl/ErrorDetails.*)
static ErrorDetailsManager & GetInstance()
Instance class.
void cacheDetails(const ErrorDetailsList::Pointer &errorDetails) const
cache the given error details list.
std::map< SBuf, ErrorDetailsList::Pointer > Cache
ErrorDetailsList::Pointer theDefaultErrorDetails
the default error details list
const ErrorDetailEntry * findDetail(Security::ErrorCode value, const HttpRequest::Pointer &request) const
int ErrorCode
Squid-defined error code (<0), an error code returned by X.509 API, or zero.
void errorDetailInitialize()