#include "auth/UserRequest.h"
#include "comm/Connection.h"
+#include "err_detail_type.h"
#include "errorpage.h"
#include "fde.h"
+#include "html_quote.h"
#include "HttpReply.h"
#include "HttpRequest.h"
#include "MemBuf.h"
}
/// \ingroup ErrorPageInternal
-static const char *
+const char *
errorPageName(int pageId)
{
if (pageId >= ERR_NONE && pageId < ERR_MAX) /* common case */
if (request != NULL) {
err->request = HTTPMSGLOCK(request);
err->src_addr = request->client_addr;
+ request->detailError(type, ERR_DETAIL_NONE);
}
return err;
*/
if (err->request)
- err->request->errType = err->type;
+ err->request->detailError(err->type, err->xerrno);
/* moved in front of errorBuildBuf @?@ */
err->flags.flag_cbdata = 1;
rep = err->BuildHttpReply();
-
- comm_write_mbuf(conn, rep->pack(), errorSendComplete, err);
-
+ MemBuf *mb = rep->pack();
+ comm_write_mbuf(conn, mb, errorSendComplete, err);
+ delete mb;
delete rep;
}
err->callback(conn->fd, err->callback_data, size);
} else {
debugs(4, 3, "errorSendComplete: comm_close");
- Comm::ConnectionPointer nonConst = conn;
- nonConst->close();
+ conn->close();
}
}