From 7d1fdb0e3c408bd5ea8186734431b40af1aeb733 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Mon, 26 Jan 2009 00:30:54 +0000 Subject: [PATCH] * add wildfire output to errormessages --- webcit/subst.c | 28 ++++++++++++++++++++++++++-- webcit/webcit.c | 1 + webcit/webcit.h | 1 + 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/webcit/subst.c b/webcit/subst.c index b22220627..8dda6fb0d 100644 --- a/webcit/subst.c +++ b/webcit/subst.c @@ -113,6 +113,8 @@ const char *ContextName(int ContextType) void LogTemplateError (StrBuf *Target, const char *Type, int ErrorPos, WCTemplputParams *TP, const char *Format, ...) { + wcsession *WCC; + StrBuf *Header; StrBuf *Error; StrBuf *Info; va_list arg_ptr; @@ -155,8 +157,11 @@ void LogTemplateError (StrBuf *Target, const char *Type, int ErrorPos, WCTemplpu } if (Target == NULL) return; + WCC = WC; + Header = NewStrBuf(); if (TP->Tokens != NULL) { + /* deprecated: StrBufAppendPrintf( Target, "
\n%s [%s] (in '%s' line %ld); %s\n[%s]\n
\n", @@ -166,18 +171,37 @@ void LogTemplateError (StrBuf *Target, const char *Type, int ErrorPos, WCTemplpu TP->Tokens->Line, ChrPtr(Error), ChrPtr(TP->Tokens->FlatToken)); + */ + + SerializeJson(Header, WildFireException(SKEY(TP->Tokens->FileName), + TP->Tokens->Line, + Error, + 1), 1); +/* + SerializeJson(Header, WildFireMessage(SKEY(TP->Tokens->FileName), + TP->Tokens->Line, + Error, + eERROR), 1); +*/ + WildFireSerializePayload(Header, WCC->HBuf, &WCC->nWildfireHeaders, NULL); } else { + /* deprecated. StrBufAppendPrintf( Target, "
\n%s: %s\n
\n", Type, ChrPtr(Error)); + */ + SerializeJson(Header, WildFireException(HKEY(__FILE__), __LINE__, Error, 1), 1); + WildFireSerializePayload(Header, WCC->HBuf, &WCC->nWildfireHeaders, NULL); } + FreeStrBuf(&Header); +/* if (dbg_bactrace_template_errors) wc_backtrace(); - +*/ } @@ -757,7 +781,7 @@ void print_value_of(StrBuf *Target, WCTemplputParams *TP) else { LogTemplateError( Target, "Token", ERR_NAME, TP, - "didn't find Handler"); + "didn't find Handler \"%s\"", TP->Tokens->pName); wc_backtrace(); } } diff --git a/webcit/webcit.c b/webcit/webcit.c index 7abf512d6..49884f250 100644 --- a/webcit/webcit.c +++ b/webcit/webcit.c @@ -590,6 +590,7 @@ void session_loop(HashList *HTTPHeaders, StrBuf *ReqLine, StrBuf *request_method WCC->upload = NULL; WCC->is_mobile = 0; WCC->trailing_javascript = NewStrBuf(); + WCC->nWildfireHeaders = 0; /** Figure out the action */ index[0] = action; diff --git a/webcit/webcit.h b/webcit/webcit.h index afc4bdf56..545089bad 100644 --- a/webcit/webcit.h +++ b/webcit/webcit.h @@ -356,6 +356,7 @@ struct wcsession { StrBuf *http_host; /**< HTTP Host: header */ int is_ajax; /** < are we doing an ajax request? */ int gzip_ok; /**< Nonzero if Accept-encoding: gzip */ + int nWildfireHeaders; /**< how many wildfire headers did we already send? */ StrBuf *trailing_javascript; /**< extra javascript to be appended to page */ char ImportantMessage[SIZ]; /**< ??? todo */ -- 2.39.2