about summary refs log tree commit homepage
path: root/lib/unicorn/http_response.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-01-04 17:50:51 -0800
committerEric Wong <normalperson@yhbt.net>2011-01-04 17:51:59 -0800
commitd100025759450dd1cbeccd1a3e44c46921bba26b (patch)
tree8f623be43ae96cc9246a43b01fb5650751ca3769 /lib/unicorn/http_response.rb
parent6183611108c571dbed29dfe2854b9f06757fd27f (diff)
downloadunicorn-d100025759450dd1cbeccd1a3e44c46921bba26b.tar.gz
This can return a static string and be significantly
faster as it reduces object allocations and Ruby method
calls for the fastest websites that serve thousands of
requests a second.

It assumes the Ruby runtime is single-threaded, but that
is the case of Ruby 1.8 and 1.9 and also what Unicorn
is all about.  This change is safe for Rainbows! under 1.8
and 1.9.
Diffstat (limited to 'lib/unicorn/http_response.rb')
-rw-r--r--lib/unicorn/http_response.rb4
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/unicorn/http_response.rb b/lib/unicorn/http_response.rb
index 2d13863..c59ce2c 100644
--- a/lib/unicorn/http_response.rb
+++ b/lib/unicorn/http_response.rb
@@ -1,6 +1,4 @@
 # -*- encoding: binary -*-
-require 'time'
-
 # Writes a Rack response to your client using the HTTP/1.1 specification.
 # You use it by simply doing:
 #
@@ -25,7 +23,7 @@ module Unicorn::HttpResponse
 
     if headers
       buf = "HTTP/1.1 #{status}\r\n" \
-            "Date: #{Time.now.httpdate}\r\n" \
+            "Date: #{httpdate}\r\n" \
             "Status: #{status}\r\n" \
             "Connection: close\r\n"
       headers.each do |key, value|