aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--lib/webrick/httpserver.rb5
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ecd9d2ab49..2c8e5791da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Tue May 31 15:52:45 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should
+ break the loop if the socket reached to EOF. [ruby-talk:142285]
+
+ * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): send response
+ without reading the whole request body if keep-alive is diabled.
+ [experimental]
+
Mon May 30 23:48:29 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tk/lib/tk/macpkg.rb: add PACKAGE_NAME information of Tcl/Tk
diff --git a/lib/webrick/httpserver.rb b/lib/webrick/httpserver.rb
index bdd9c7a620..bce94746c2 100644
--- a/lib/webrick/httpserver.rb
+++ b/lib/webrick/httpserver.rb
@@ -53,6 +53,7 @@ module WEBrick
timeout -= 0.5
end
raise HTTPStatus::EOFError if timeout <= 0
+ raise HTTPStatus::EOFError if sock.eof?
req.parse(sock)
res.request_method = req.request_method
res.request_uri = req.request_uri
@@ -79,7 +80,9 @@ module WEBrick
res.set_error(ex, true)
ensure
if req.request_line
- req.fixup()
+ if req.keep_alive? && res.keep_alive?
+ req.fixup()
+ end
res.send_response(sock)
server.access_log(@config, req, res)
end