From 600fbe39b2d3b57accf7ce42c475f1348e397db8 Mon Sep 17 00:00:00 2001 From: Patrick Boettcher Date: Tue, 24 Jan 2017 10:46:39 +0100 Subject: [PATCH] Possible implementation for fixing #106 --- server_http.hpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/server_http.hpp b/server_http.hpp index 2651eab..9d55e1c 100644 --- a/server_http.hpp +++ b/server_http.hpp @@ -74,6 +74,13 @@ namespace SimpleWeb { size_t size() { return streambuf.size(); } + + /// A resource-handler can set this to true in its Response-object + /// to have the server connection being close by the server after data has been sent. + /// + /// This is useful when implementing a HTTP/1.0-server which usually closes the connection + /// after the response has been sent out, without using Content-Length:-header. + bool close_connection_after_send = false; }; class Content : public std::istream { @@ -394,6 +401,9 @@ namespace SimpleWeb { return; } + if (response->close_connection_after_send) + return; + auto range=request->header.equal_range("Connection"); for(auto it=range.first;it!=range.second;it++) { if(boost::iequals(it->second, "close"))