#include <errorpage.h>


| Public Member Functions | |
| TemplateFile (const char *name, const err_type code) | |
| virtual | ~TemplateFile () | 
| bool | loaded () const | 
| return true if the data loaded from disk without any problem  More... | |
| void | loadDefault () | 
| bool | loadFor (const HttpRequest *request) | 
| bool | loadFromFile (const char *path) | 
| const char * | language () | 
| The language used for the template.  More... | |
| Public Attributes | |
| SBuf | filename | 
| where the template was loaded from  More... | |
| bool | silent | 
| Whether to print error messages on cache.log file or not. It is user defined.  More... | |
| Protected Member Functions | |
| virtual bool | parse () | 
| post-process the loaded template  More... | |
| virtual void | setDefault () | 
| recover from loadDefault() failure to load or parse() a template  More... | |
| bool | tryLoadTemplate (const char *lang) | 
| Protected Attributes | |
| SBuf | template_ | 
| raw template contents  More... | |
| bool | wasLoaded | 
| True if the template data read from disk without any problem.  More... | |
| String | errLanguage | 
| The error language of the template.  More... | |
| String | templateName | 
| The name of the template.  More... | |
| err_type | templateCode | 
| The internal code for this template.  More... | |
Detailed Description
loads text templates used for error pages and details; supports translation of templates
Definition at line 279 of file errorpage.h.
Constructor & Destructor Documentation
◆ TemplateFile()
| TemplateFile::TemplateFile | ( | const char * | name, | 
| const err_type | code | ||
| ) | 
Definition at line 357 of file errorpage.cc.
References assert.
◆ ~TemplateFile()
| 
 | inlinevirtual | 
Definition at line 283 of file errorpage.h.
Member Function Documentation
◆ language()
| 
 | inline | 
Definition at line 312 of file errorpage.h.
References errLanguage, and String::termedBuf().
Referenced by ErrorState::buildBody(), and Ssl::ErrorDetailsManager::findDetail().
◆ loadDefault()
| void TemplateFile::loadDefault | ( | ) | 
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, loaded(), loadFromFile(), MAXPATHLEN, setDefault(), TCP_RESET, templateCode, templateName, String::termedBuf(), tryLoadTemplate(), and wasLoaded.
Referenced by Ssl::ErrorDetailsManager::ErrorDetailsManager(), and errorInitialize().
◆ loaded()
| 
 | inline | 
Definition at line 286 of file errorpage.h.
References wasLoaded.
Referenced by loadDefault(), loadFor(), and loadFromFile().
◆ loadFor()
| bool TemplateFile::loadFor | ( | const HttpRequest * | request | ) | 
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, errLanguage, SquidConfig::errorLogMissingLanguages, HttpHeader::getList(), Http::Message::header, loaded(), strHdrAcptLangGetItem(), and tryLoadTemplate().
Referenced by ErrorState::buildBody(), and Ssl::ErrorDetailsManager::findDetail().
◆ loadFromFile()
| bool TemplateFile::loadFromFile | ( | const char * | path | ) | 
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(), filename, loaded(), MYNAME, O_TEXT, parse(), silent, TCP_RESET, templateCode, wasLoaded, and xstrerr().
Referenced by errorInitialize(), loadDefault(), and tryLoadTemplate().
◆ parse()
| 
 | inlineprotectedvirtual | 
Reimplemented in Ssl::ErrorDetailFile.
Definition at line 320 of file errorpage.h.
Referenced by loadFromFile().
◆ setDefault()
| 
 | inlineprotectedvirtual | 
Reimplemented in ErrorPageFile.
Definition at line 323 of file errorpage.h.
Referenced by loadDefault().
◆ tryLoadTemplate()
| 
 | protected | 
Try to load the "page_name" template for a given language "lang" from squid errors directory
- Returns
- true on success false otherwise
Definition at line 399 of file errorpage.cc.
References assert, debugs, DEFAULT_SQUID_ERROR_DIR, loadFromFile(), MAXPATHLEN, templateName, and String::termedBuf().
Referenced by loadDefault(), and loadFor().
Member Data Documentation
◆ errLanguage
| 
 | protected | 
Definition at line 334 of file errorpage.h.
Referenced by language(), and loadFor().
◆ filename
| SBuf TemplateFile::filename | 
Definition at line 314 of file errorpage.h.
Referenced by ErrorState::buildBody(), errorInitialize(), and loadFromFile().
◆ silent
| bool TemplateFile::silent | 
Definition at line 316 of file errorpage.h.
Referenced by loadFromFile().
◆ template_
| 
 | protected | 
Definition at line 332 of file errorpage.h.
Referenced by ErrorPageFile::setDefault().
◆ templateCode
| 
 | protected | 
Definition at line 336 of file errorpage.h.
Referenced by loadDefault(), and loadFromFile().
◆ templateName
| 
 | protected | 
Definition at line 335 of file errorpage.h.
Referenced by loadDefault(), ErrorPageFile::setDefault(), and tryLoadTemplate().
◆ wasLoaded
| 
 | protected | 
Definition at line 333 of file errorpage.h.
Referenced by loadDefault(), loaded(), and loadFromFile().
The documentation for this class was generated from the following files:
- src/errorpage.h
- src/errorpage.cc
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products
