#include "squid.h"
#include "AccessLogEntry.h"
#include "cache_cf.h"
#include "clients/forward.h"
#include "comm/Connection.h"
#include "comm/Write.h"
#include "error/Detail.h"
#include "error/SysErrorDetail.h"
#include "errorpage.h"
#include "fde.h"
#include "format/Format.h"
#include "fs_io.h"
#include "html/Quoting.h"
#include "HttpHeaderTools.h"
#include "HttpReply.h"
#include "HttpRequest.h"
#include "MemBuf.h"
#include "MemObject.h"
#include "rfc1738.h"
#include "sbuf/Stream.h"
#include "SquidConfig.h"
#include "Store.h"
#include "tools.h"
#include "wordlist.h"
#include "auth/UserRequest.h"
#include "ssl/ErrorDetailManager.h"
#include <array>
Go to the source code of this file.
Classes | |
class | ErrorDynamicPageInfo |
an error page created from admin-configurable metadata (e.g. deny_info) More... | |
class | ErrorPage::Build |
state and parameters shared by several ErrorState::compile*() methods More... | |
class | ErrorPage::BuildErrorPrinter |
pretty-prints error page/deny_info building error More... | |
class | HardCodedError |
an error page (or a part of an error page) with hard-coded template text More... | |
class | ErrorPageFile |
Namespaces | |
namespace | ErrorPage |
Macros | |
#define | DEFAULT_SQUID_ERROR_DIR DEFAULT_SQUID_DATA_DIR"/errors" |
#define | CVT_BUF_SZ 512 |
Functions | |
static std::ostream & | ErrorPage::operator<< (std::ostream &os, const BuildErrorPrinter &context) |
static const char * | ErrorPage::IsDenyInfoUri (const int page_id) |
static void | ErrorPage::ImportStaticErrorText (const int page_id, const char *text, const SBuf &inputLocation) |
add error page template to the global index More... | |
static void | ErrorPage::ValidateStaticError (const int page_id, const SBuf &inputLocation) |
validate static error page More... | |
static const char * | errorFindHardText (err_type type) |
static err_type & | operator++ (err_type &anErr) |
static int | operator- (err_type const &anErr, err_type const &anErr2) |
void | errorInitialize (void) |
void | errorClean (void) |
bool | strHdrAcptLangGetItem (const String &hdr, char *lang, int langLen, size_t &pos) |
static int | errorPageId (const char *page_name) |
err_type | errorReservePageId (const char *page_name, const SBuf &cfgLocation) |
allocates a new slot for the error page More... | |
const char * | errorPageName (int pageId) |
error ID to string More... | |
void | errorAppendEntry (StoreEntry *entry, ErrorState *err) |
void | errorSend (const Comm::ConnectionPointer &conn, ErrorState *err) |
static void | errorSendComplete (const Comm::ConnectionPointer &conn, char *, size_t size, Comm::Flag errflag, int, void *data) |
std::ostream & | operator<< (std::ostream &os, const ErrorState *err) |
Variables | |
static const std::array< HardCodedError, 7 > | HardCodedErrors |
error messages that cannot be configured/customized externally More... | |
static std::vector< ErrorDynamicPageInfo * > | ErrorDynamicPages |
static char ** | error_text = nullptr |
static int | error_page_count = 0 |
static MemBuf | error_stylesheet |
static IOCB | errorSendComplete |
Macro Definition Documentation
◆ DEFAULT_SQUID_ERROR_DIR
#define DEFAULT_SQUID_ERROR_DIR DEFAULT_SQUID_DATA_DIR"/errors" |
Where to look for errors if config path fails.
- Note
- Please use ./configure –datadir=/path instead of patching
Definition at line 59 of file errorpage.cc.
Function Documentation
◆ errorReservePageId()
Definition at line 647 of file errorpage.cc.
References ERR_MAX, ERR_NONE, ErrorDynamicPages, and errorPageId().
Referenced by AclDenyInfoList::AclDenyInfoList().
◆ operator<<()
std::ostream & operator<< | ( | std::ostream & | os, |
const ErrorState * | err | ||
) |
Definition at line 1528 of file errorpage.cc.
References errorPageName(), and ErrorState::page_id.
◆ strHdrAcptLangGetItem()
Parses the Accept-Language header value and return one language item on each call. Will ignore any whitespace, q-values, and detectably invalid language codes in the header.
- Parameters
-
hdr is the Accept-Language header value lang a buffer to store parsed language code in langlen the length of the lang buffer pos is used to store the offset state of parsing. Must be "0" on first call. Will be altered to point at the start of next field-value.
- Returns
- true if something looking like a language token has been placed in lang, false otherwise
Definition at line 465 of file errorpage.cc.
References debugs, String::size(), String::substr(), xisspace, and xtolower.
Referenced by Ssl::ErrorDetailsManager::findDetail(), Auth::SchemeConfig::isCP1251EncodingAllowed(), and TemplateFile::loadFor().
Variable Documentation
◆ errorSendComplete
|
static |
Definition at line 208 of file errorpage.cc.
Referenced by errorSend().
◆ HardCodedErrors
|
static |
Definition at line 155 of file errorpage.cc.
Referenced by errorFindHardText().