2 * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 #ifndef _SQUID_ERR_DETAIL_H
10 #define _SQUID_ERR_DETAIL_H
14 ERR_DETAIL_START
= 100000, // to avoid clashes with most OS error numbers
15 ERR_DETAIL_REDIRECTOR_TIMEDOUT
= ERR_DETAIL_START
, // External redirector request timed-out
16 ERR_DETAIL_CLT_REQMOD_ABORT
, // client-facing code detected transaction abort
17 ERR_DETAIL_CLT_REQMOD_REQ_BODY
, // client-facing code detected REQMOD request body adaptation failure
18 ERR_DETAIL_CLT_REQMOD_RESP_BODY
, // client-facing code detected REQMOD satisfaction reply body failure
19 ERR_DETAIL_SRV_REQMOD_REQ_BODY
, // server-facing code detected REQMOD request body abort
20 ERR_DETAIL_ICAP_RESPMOD_EARLY
, // RESPMOD failed w/o store entry
21 ERR_DETAIL_ICAP_RESPMOD_LATE
, // RESPMOD failed with a store entry
22 ERR_DETAIL_REQMOD_BLOCK
, // REQMOD denied client access
23 ERR_DETAIL_RESPMOD_BLOCK_EARLY
, // RESPMOD denied client access to HTTP response, before any part of the response was sent
24 ERR_DETAIL_RESPMOD_BLOCK_LATE
, // RESPMOD denied client access to HTTP response, after [a part of] the response was sent
25 ERR_DETAIL_ICAP_XACT_START
, // transaction start failure
26 ERR_DETAIL_ICAP_XACT_BODY_CONSUMER_ABORT
, // transaction body consumer gone
27 ERR_DETAIL_ICAP_INIT_GONE
, // initiator gone
28 ERR_DETAIL_ICAP_XACT_CLOSE
, // ICAP connection closed unexpectedly
29 ERR_DETAIL_ICAP_XACT_OTHER
, // other ICAP transaction errors
30 ERR_DETAIL_EXCEPTION_OTHER
, //other errors ( eg std C++ lib errors)
32 ERR_DETAIL_EXCEPTION_START
= 110000 // offset for exception ID details
35 extern const char *err_detail_type_str
[];
38 const char *errorDetailName(int errDetailId
)
40 if (errDetailId
< ERR_DETAIL_START
)
43 if (errDetailId
< ERR_DETAIL_MAX
)
44 return err_detail_type_str
[errDetailId
-ERR_DETAIL_START
+2];
46 if (errDetailId
>=ERR_DETAIL_EXCEPTION_START
)