|
Squid Web Cache master
|
Public Member Functions | |
| ErrorPageFile (const char *name, const err_type code) | |
| const char * | text () |
| The template text data read from disk. | |
| bool | loaded () const |
| return true if the data loaded from disk without any problem | |
| void | loadDefault () |
| bool | loadFor (const HttpRequest *request) |
| bool | loadFromFile (const char *path) |
| const char * | language () |
| The language used for the template. | |
Public Attributes | |
| SBuf | filename |
| where the template was loaded from | |
| bool | silent |
| Whether to print error messages on cache.log file or not. It is user defined. | |
Protected Member Functions | |
| void | setDefault () override |
| recover from loadDefault() failure to load or parse() a template | |
| virtual bool | parse () |
| post-process the loaded template | |
| bool | tryLoadTemplate (const char *lang) |
Protected Attributes | |
| SBuf | template_ |
| raw template contents | |
| bool | wasLoaded |
| True if the template data read from disk without any problem. | |
| String | errLanguage |
| The error language of the template. | |
| String | templateName |
| The name of the template. | |
| err_type | templateCode |
| The internal code for this template. | |
manages an error page template
Definition at line 219 of file errorpage.cc.
|
inline |
Definition at line 222 of file errorpage.cc.
|
inlineinherited |
Definition at line 312 of file errorpage.h.
References TemplateFile::errLanguage, and String::termedBuf().
Referenced by ErrorState::buildBody(), and Ssl::ErrorDetailsManager::findDetail().
|
inherited |
Load the page_name template from a file which probably exist at: (a) admin specified custom directory (error_directory) (b) default language translation directory (error_default_language) (c) English sub-directory where errors should ALWAYS exist If all of the above fail, setDefault() is called.
test error_directory configured location
test error_default_language location
Definition at line 363 of file errorpage.cc.
References Config, DBG_CRITICAL, debugs, SquidConfig::errorDefaultLanguage, SquidConfig::errorDirectory, TemplateFile::loaded(), TemplateFile::loadFromFile(), MAXPATHLEN, TemplateFile::setDefault(), TCP_RESET, TemplateFile::templateCode, TemplateFile::templateName, String::termedBuf(), TemplateFile::tryLoadTemplate(), and TemplateFile::wasLoaded.
Referenced by Ssl::ErrorDetailsManager::ErrorDetailsManager(), and errorInitialize().
|
inlineinherited |
Definition at line 286 of file errorpage.h.
References TemplateFile::wasLoaded.
Referenced by TemplateFile::loadDefault(), TemplateFile::loadFor(), and TemplateFile::loadFromFile().
|
inherited |
Load an error template for a given HTTP request. This function examines the Accept-Language header and select the first available template. If the default template selected (eg because of a "Accept-Language: *"), or not available template found this function return false.
Definition at line 526 of file errorpage.cc.
References Http::ACCEPT_LANGUAGE, Config, DBG_IMPORTANT, debugs, TemplateFile::errLanguage, SquidConfig::errorLogMissingLanguages, HttpHeader::getList(), Http::Message::header, TemplateFile::loaded(), strHdrAcptLangGetItem(), and TemplateFile::tryLoadTemplate().
Referenced by ErrorState::buildBody(), and Ssl::ErrorDetailsManager::findDetail().
|
inherited |
Load the file given by "path". It uses the "parse()" method. On success return true and sets the "defined" member
Definition at line 424 of file errorpage.cc.
References DBG_CRITICAL, debugs, FD_READ_METHOD(), file_close(), file_open(), TemplateFile::filename, TemplateFile::loaded(), MYNAME, O_TEXT, TemplateFile::parse(), TemplateFile::silent, TCP_RESET, TemplateFile::templateCode, TemplateFile::wasLoaded, and xstrerr().
Referenced by errorInitialize(), TemplateFile::loadDefault(), and TemplateFile::tryLoadTemplate().
|
inlineprotectedvirtualinherited |
Reimplemented in Ssl::ErrorDetailFile.
Definition at line 320 of file errorpage.h.
Referenced by TemplateFile::loadFromFile().
|
inlineoverrideprotectedvirtual |
Reimplemented from TemplateFile.
Definition at line 228 of file errorpage.cc.
References SBuf::append(), TemplateFile::template_, TemplateFile::templateName, and String::termedBuf().
|
inline |
Definition at line 225 of file errorpage.cc.
Referenced by ErrorState::buildBody(), and errorInitialize().
|
protectedinherited |
Try to load the "page_name" template for a given language "lang" from squid errors directory
Definition at line 399 of file errorpage.cc.
References assert, debugs, DEFAULT_SQUID_ERROR_DIR, TemplateFile::loadFromFile(), MAXPATHLEN, TemplateFile::templateName, and String::termedBuf().
Referenced by TemplateFile::loadDefault(), and TemplateFile::loadFor().
|
protectedinherited |
Definition at line 334 of file errorpage.h.
Referenced by TemplateFile::language(), and TemplateFile::loadFor().
|
inherited |
Definition at line 314 of file errorpage.h.
Referenced by ErrorState::buildBody(), errorInitialize(), and TemplateFile::loadFromFile().
|
inherited |
Definition at line 316 of file errorpage.h.
Referenced by TemplateFile::loadFromFile().
|
protectedinherited |
Definition at line 332 of file errorpage.h.
Referenced by setDefault().
|
protectedinherited |
Definition at line 336 of file errorpage.h.
Referenced by TemplateFile::loadDefault(), and TemplateFile::loadFromFile().
|
protectedinherited |
Definition at line 335 of file errorpage.h.
Referenced by TemplateFile::loadDefault(), setDefault(), and TemplateFile::tryLoadTemplate().
|
protectedinherited |
Definition at line 333 of file errorpage.h.
Referenced by TemplateFile::loadDefault(), TemplateFile::loaded(), and TemplateFile::loadFromFile().