#include <ErrorDetailManager.h>

Collaboration diagram for Ssl::ErrorDetailsManager:

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 ErrorDetailsManagerGetInstance ()
 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 ErrorDetailsManagerTheDetailsManager = NULL
 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

typedef std::map<std::string, ErrorDetailsList::Pointer> Ssl::ErrorDetailsManager::Cache
private

Definition at line 86 of file ErrorDetailManager.h.

Constructor & Destructor Documentation

Ssl::ErrorDetailsManager::ErrorDetailsManager ( )

Definition at line 98 of file ErrorDetailManager.cc.

References TemplateFile::loadDefault().

Member Function Documentation

void Ssl::ErrorDetailsManager::cacheDetails ( ErrorDetailsList::Pointer errorDetails)
private

Definition at line 117 of file ErrorDetailManager.cc.

References assert.

Ssl::ErrorDetailsList::Pointer Ssl::ErrorDetailsManager::getCachedDetails ( const char *  lang)
private

Definition at line 105 of file ErrorDetailManager.cc.

References debugs, HERE(), and NULL.

const char * Ssl::ErrorDetailsManager::getDefaultErrorDescr ( Security::ErrorCode  value)

Definition at line 167 of file ErrorDetailManager.cc.

const char * Ssl::ErrorDetailsManager::getDefaultErrorDetail ( Security::ErrorCode  value)

Definition at line 173 of file ErrorDetailManager.cc.

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
valethe error code
requestthe current HTTP request.
entrywhere to store error details
Returns
true on success, false otherwise

Definition at line 126 of file ErrorDetailManager.cc.

References Http::ACCEPT_LANGUAGE, debugs, Ssl::GetErrorName(), HttpHeader::getList(), RefCount< C >::getRaw(), Http::Message::header, HERE(), TemplateFile::language(), TemplateFile::loadFor(), NULL, and strHdrAcptLangGetItem().

Ssl::ErrorDetailsManager & Ssl::ErrorDetailsManager::GetInstance ( )
static

Definition at line 83 of file ErrorDetailManager.cc.

References assert.

Referenced by Ssl::ErrorDetail::buildDetail(), and Ssl::errorDetailInitialize().

void Ssl::ErrorDetailsManager::Shutdown ( )
static

Definition at line 92 of file ErrorDetailManager.cc.

References NULL.

Referenced by Ssl::errorDetailClean().

Member Data Documentation

Cache Ssl::ErrorDetailsManager::cache
private

Definition at line 87 of file ErrorDetailManager.h.

ErrorDetailsList::Pointer Ssl::ErrorDetailsManager::theDefaultErrorDetails
private

Definition at line 88 of file ErrorDetailManager.h.

Ssl::ErrorDetailsManager * Ssl::ErrorDetailsManager::TheDetailsManager = NULL
staticprivate

Definition at line 91 of file ErrorDetailManager.h.


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors