1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
#ifndef _SQUID_ERR_DETAIL_H
#define _SQUID_ERR_DETAIL_H
typedef enum {
ERR_DETAIL_NONE,
ERR_DETAIL_START = 100000, // to avoid clashes with most OS error numbers
ERR_DETAIL_CLT_REQMOD_ABORT = ERR_DETAIL_START, // client-side detected transaction abort
ERR_DETAIL_CLT_REQMOD_REQ_BODY, // client-side detected REQMOD request body adaptation failure
ERR_DETAIL_CLT_REQMOD_RESP_BODY, // client-side detected REQMOD satisfaction reply body failure
ERR_DETAIL_SRV_REQMOD_REQ_BODY, // server-side detected REQMOD request body abort
ERR_DETAIL_ICAP_RESPMOD_EARLY, // RESPMOD failed w/o store entry
ERR_DETAIL_ICAP_RESPMOD_LATE, // RESPMOD failed with a store entry
ERR_DETAIL_REQMOD_BLOCK, // REQMOD denied client access
ERR_DETAIL_RESPMOD_BLOCK_EARLY, // RESPMOD denied client access to HTTP response, before any part of the response was sent
ERR_DETAIL_RESPMOD_BLOCK_LATE, // RESPMOD denied client access to HTTP response, after [a part of] the response was sent
ERR_DETAIL_ICAP_XACT_START, // transaction start failure
ERR_DETAIL_ICAP_XACT_BODY_CONSUMER_ABORT, // transaction body consumer gone
ERR_DETAIL_ICAP_INIT_GONE, // initiator gone
ERR_DETAIL_ICAP_XACT_CLOSE, // ICAP connection closed unexpectedly
ERR_DETAIL_ICAP_XACT_OTHER, // other ICAP transaction errors
ERR_DETAIL_EXCEPTION_OTHER, //other errors ( eg std C++ lib errors)
ERR_DETAIL_MAX,
ERR_DETAIL_EXCEPTION_START = 110000 // offset for exception ID details
} err_detail_type;
extern const char *err_detail_type_str[];
inline
const char *errorDetailName(int errDetailId)
{
if (errDetailId < ERR_DETAIL_START)
return "SYSERR";
if (errDetailId < ERR_DETAIL_MAX)
return err_detail_type_str[errDetailId-ERR_DETAIL_START+2];
if (errDetailId >=ERR_DETAIL_EXCEPTION_START)
return "EXCEPTION";
return "UNKNOWN";
}
#endif
|