diff options
| -rw-r--r-- | src/http.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/http.cc b/src/http.cc index 21de28d..c88aa6d 100644 --- a/src/http.cc +++ b/src/http.cc @@ -794,6 +794,12 @@ class ServerImpl : public Server { } client.resp = delegate_.handle(request); client.in->consume(end + 4); + // If client requests close, do so. + if (request.header_contains("connection", "close")) { + if (shutdown(client.fd.get(), SHUT_RD) == 0) { + client.read_closed_ = true; + } + } return true; } |
