aboutsummaryrefslogtreecommitdiff
path: root/web/apache/service.txx
diff options
context:
space:
mode:
Diffstat (limited to 'web/apache/service.txx')
-rw-r--r--web/apache/service.txx11
1 files changed, 9 insertions, 2 deletions
diff --git a/web/apache/service.txx b/web/apache/service.txx
index 179980c..25a7435 100644
--- a/web/apache/service.txx
+++ b/web/apache/service.txx
@@ -20,8 +20,15 @@ namespace web
try
{
M m (static_cast<const M&> (exemplar_));
- static_cast<module&> (m).handle (r, r, l);
- return r.flush ();
+
+ if (static_cast<module&> (m).handle (r, r, l))
+ return r.flush ();
+
+ if (!r.get_write_state ())
+ return DECLINED;
+
+ l.write (nullptr, 0, func_name.c_str (), APLOG_ERR,
+ "handling declined while unbuffered content has been written");
}
catch (const invalid_request& e)
{