#include <ErrorDetailManager.h>

Collaboration diagram for Ssl::ErrorDetailsManager:

Public Member Functions

 ErrorDetailsManager ()
 
const ErrorDetailEntryfindDetail (Security::ErrorCode value, const HttpRequest::Pointer &request) const
 
const ErrorDetailEntryfindDefaultDetail (Security::ErrorCode) const
 

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::PointerCache
 

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 ErrorDetailsManagerTheDetailsManager = 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

typedef std::map<std::string, ErrorDetailsList::Pointer> Ssl::ErrorDetailsManager::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()

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

◆ 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
valuethe error code
requestthe 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()

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

Definition at line 98 of file ErrorDetailManager.cc.

References debugs.

◆ GetInstance()

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

Definition at line 75 of file ErrorDetailManager.cc.

References assert.

Referenced by Ssl::errorDetailInitialize(), and Security::ErrorDetail::verbose().

◆ Shutdown()

void Ssl::ErrorDetailsManager::Shutdown ( )
static

Definition at line 84 of file ErrorDetailManager.cc.

Referenced by Ssl::errorDetailClean().

Member Data Documentation

◆ cache

Cache Ssl::ErrorDetailsManager::cache
mutableprivate

Definition at line 88 of file ErrorDetailManager.h.

◆ theDefaultErrorDetails

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

Definition at line 89 of file ErrorDetailManager.h.

◆ TheDetailsManager

Ssl::ErrorDetailsManager * Ssl::ErrorDetailsManager::TheDetailsManager = nullptr
staticprivate

Definition at line 92 of file ErrorDetailManager.h.


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors