Inheritance diagram for ErrorPageFile:
Collaboration diagram for ErrorPageFile:

Public Member Functions

 ErrorPageFile (const char *name, const err_type code)
 
const char * text ()
 The template text data read from disk. More...
 
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 void setDefault () override
 recover from loadDefault() failure to load or parse() a template More...
 
virtual bool parse ()
 post-process the loaded 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

manages an error page template

Definition at line 207 of file errorpage.cc.

Constructor & Destructor Documentation

◆ ErrorPageFile()

ErrorPageFile::ErrorPageFile ( const char *  name,
const err_type  code 
)
inline

Definition at line 210 of file errorpage.cc.

Member Function Documentation

◆ language()

const char* TemplateFile::language ( )
inlineinherited

Definition at line 316 of file errorpage.h.

Referenced by ErrorState::buildBody(), and Ssl::ErrorDetailsManager::getErrorDetail().

◆ loadDefault()

void TemplateFile::loadDefault ( )
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 351 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().

◆ loaded()

bool TemplateFile::loaded ( ) const
inlineinherited

Definition at line 290 of file errorpage.h.

References request().

Referenced by TemplateFile::loadDefault(), TemplateFile::loadFor(), and TemplateFile::loadFromFile().

◆ loadFor()

bool TemplateFile::loadFor ( const HttpRequest request)
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 514 of file errorpage.cc.

References Http::ACCEPT_LANGUAGE, Config, DBG_IMPORTANT, debugs, TemplateFile::errLanguage, SquidConfig::errorLogMissingLanguages, HttpHeader::getList(), Http::Message::header, HERE(), TemplateFile::loaded(), strHdrAcptLangGetItem(), and TemplateFile::tryLoadTemplate().

Referenced by ErrorState::buildBody(), and Ssl::ErrorDetailsManager::getErrorDetail().

◆ loadFromFile()

bool TemplateFile::loadFromFile ( const char *  path)
inherited

Load the file given by "path". It uses the "parse()" method. On success return true and sets the "defined" member

Definition at line 412 of file errorpage.cc.

References buf, DBG_CRITICAL, debugs, FD_READ_METHOD, file_close(), file_open(), TemplateFile::filename, len, 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().

◆ parse()

virtual bool TemplateFile::parse ( )
inlineprotectedvirtualinherited

Reimplemented in Ssl::ErrorDetailFile.

Definition at line 324 of file errorpage.h.

Referenced by TemplateFile::loadFromFile().

◆ setDefault()

virtual void ErrorPageFile::setDefault ( )
inlineoverrideprotectedvirtual

Reimplemented from TemplateFile.

Definition at line 216 of file errorpage.cc.

◆ text()

const char* ErrorPageFile::text ( )
inline

Definition at line 213 of file errorpage.cc.

Referenced by ErrorState::buildBody(), and errorInitialize().

◆ tryLoadTemplate()

bool TemplateFile::tryLoadTemplate ( const char *  lang)
protectedinherited

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 387 of file errorpage.cc.

References assert, debugs, DEFAULT_SQUID_ERROR_DIR, HERE(), TemplateFile::loadFromFile(), MAXPATHLEN, TemplateFile::templateName, and String::termedBuf().

Referenced by TemplateFile::loadDefault(), and TemplateFile::loadFor().

Member Data Documentation

◆ errLanguage

String TemplateFile::errLanguage
protectedinherited

Definition at line 338 of file errorpage.h.

Referenced by TemplateFile::loadFor().

◆ filename

SBuf TemplateFile::filename
inherited

Definition at line 318 of file errorpage.h.

Referenced by ErrorState::buildBody(), errorInitialize(), and TemplateFile::loadFromFile().

◆ silent

bool TemplateFile::silent
inherited

Definition at line 320 of file errorpage.h.

Referenced by TemplateFile::loadFromFile().

◆ template_

SBuf TemplateFile::template_
protectedinherited

Definition at line 336 of file errorpage.h.

Referenced by Ssl::ErrorDetailFile::parse().

◆ templateCode

err_type TemplateFile::templateCode
protectedinherited

Definition at line 340 of file errorpage.h.

Referenced by TemplateFile::loadDefault(), and TemplateFile::loadFromFile().

◆ templateName

String TemplateFile::templateName
protectedinherited

Definition at line 339 of file errorpage.h.

Referenced by TemplateFile::loadDefault(), and TemplateFile::tryLoadTemplate().

◆ wasLoaded

bool TemplateFile::wasLoaded
protectedinherited

Definition at line 337 of file errorpage.h.

Referenced by TemplateFile::loadDefault(), and TemplateFile::loadFromFile().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors