aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2023-05-16 10:32:55 +0200
committerGitHub <[email protected]>2023-05-16 10:32:55 +0200
commit8ef75340628227748eb95abda751c0235d41b96c (patch)
treebf9173686e01c35e8d8bdb1288f4f2618f87aa90
parentremoved RefCounted from ZenCacheNamespace (diff)
downloadzen-8ef75340628227748eb95abda751c0235d41b96c.tar.xz
zen-8ef75340628227748eb95abda751c0235d41b96c.zip
clear partially formatted response if request fails (http asio) (#310)
* simplfy error response by dropping partially formatted response * Update CHANGELOG.md
-rw-r--r--CHANGELOG.md3
-rw-r--r--src/zenhttp/httpasio.cpp3
2 files changed, 6 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index afdf09bc9..cd679adc5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,7 @@
##
+- Bugfix: Improve error handling when processing requests in http asio
+
+## 0.2.11
- Feature: Gracefully exit if Ctrl-C is pressed
- Feature: Structured cache now writes an activity log to `logs/z$` which may be used to understand client interactions better. Enabled by default for the time being
- Bugfix: Return error code on exit as set by application
diff --git a/src/zenhttp/httpasio.cpp b/src/zenhttp/httpasio.cpp
index 7149caf28..0056103cd 100644
--- a/src/zenhttp/httpasio.cpp
+++ b/src/zenhttp/httpasio.cpp
@@ -543,6 +543,9 @@ HttpServerConnection::HandleRequest()
{
ZEN_ERROR("Caught exception while handling request: '{}'", ex.what());
+ // Drop any partially formatted response
+ Request.m_Response.reset();
+
Request.WriteResponse(HttpResponseCode::InternalServerError, HttpContentType::kText, ex.what());
}
}