diff options
Diffstat (limited to 'web/apache/service.txx')
-rw-r--r-- | web/apache/service.txx | 11 |
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) { |