about summary refs log tree commit homepage
path: root/lib/rainbows/ev_core.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-01-07 10:02:52 -0800
committerEric Wong <normalperson@yhbt.net>2011-01-07 10:02:52 -0800
commitb788a0f1eedfb358f9d57f40cec6ba0960dea3fe (patch)
treed58b3631827dc9ebe8998c0c5ee2d3c1532998dd /lib/rainbows/ev_core.rb
parent370fb8c7811704ed65384f599b52ac1b6d0c36c9 (diff)
downloadrainbows-b788a0f1eedfb358f9d57f40cec6ba0960dea3fe.tar.gz
Reading headers is common and we don't want to create new String
objects (even if they're tiny or copy-on-write) for the GC to
munch on.
Diffstat (limited to 'lib/rainbows/ev_core.rb')
-rw-r--r--lib/rainbows/ev_core.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/rainbows/ev_core.rb b/lib/rainbows/ev_core.rb
index 23505d3..a9fc41e 100644
--- a/lib/rainbows/ev_core.rb
+++ b/lib/rainbows/ev_core.rb
@@ -18,8 +18,8 @@ module Rainbows::EvCore
       # "Transfer-Encoding: chunked", and the async.callback stuff
       # isn't Rack::Lint-compatible, so we have to enforce it here.
       headers = Rack::Utils::HeaderHash.new(headers) unless Hash === headers
-      alive = headers.include?("Content-Length") ||
-              !!(%r{\Achunked\z}i =~ headers["Transfer-Encoding"])
+      alive = headers.include?(Content_Length) ||
+              !!(%r{\Achunked\z}i =~ headers[Transfer_Encoding])
     end
     write_response(status, headers, body, alive)
   end
@@ -50,10 +50,10 @@ module Rainbows::EvCore
   # returns whether to enable response chunking for autochunk models
   def stream_response_headers(status, headers, alive)
     headers = Rack::Utils::HeaderHash.new(headers)
-    if headers['Content-Length']
+    if headers[Content_Length]
       rv = false
     else
-      rv = !!(headers['Transfer-Encoding'] =~ %r{\Achunked\z}i)
+      rv = !!(headers[Transfer_Encoding] =~ %r{\Achunked\z}i)
       rv = false if headers.delete('X-Rainbows-Autochunk') == 'no'
     end
     write_headers(status, headers, alive)