about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-01-04 17:12:22 -0800
committerEric Wong <normalperson@yhbt.net>2011-01-04 17:12:22 -0800
commit104f7bd76696e42c0b8a97f3780cabea9a7dd44c (patch)
treeead252b2285928c1c1e1b0168e28ff825d9c6ad8
parente21939d776673b2f8887adf7a5c64812b7d2e98e (diff)
downloadrainbows-104f7bd76696e42c0b8a97f3780cabea9a7dd44c.tar.gz
It's more likely to be in the method cache since Rack::URLMap
uses it and also is more consistent when looking at profiling
output against various concurrency models.
-rw-r--r--lib/rainbows/coolio/client.rb2
-rw-r--r--lib/rainbows/coolio/thread_client.rb2
-rw-r--r--lib/rainbows/event_machine/client.rb2
3 files changed, 3 insertions, 3 deletions
diff --git a/lib/rainbows/coolio/client.rb b/lib/rainbows/coolio/client.rb
index d0b17a9..4a19f31 100644
--- a/lib/rainbows/coolio/client.rb
+++ b/lib/rainbows/coolio/client.rb
@@ -121,7 +121,7 @@ class Rainbows::Coolio::Client < Coolio::IO
     KATO.delete(self)
     @env[RACK_INPUT] = @input
     @env[REMOTE_ADDR] = @_io.kgio_addr
-    response = APP.call(@env.update(RACK_DEFAULTS))
+    response = APP.call(@env.merge!(RACK_DEFAULTS))
 
     coolio_write_response(response, alive = @hp.next?)
     return quit unless alive && :close != @state
diff --git a/lib/rainbows/coolio/thread_client.rb b/lib/rainbows/coolio/thread_client.rb
index e6db2bd..6cd77b9 100644
--- a/lib/rainbows/coolio/thread_client.rb
+++ b/lib/rainbows/coolio/thread_client.rb
@@ -27,7 +27,7 @@ class Rainbows::Coolio::ThreadClient < Rainbows::Coolio::Client
   def app_response
     begin
       @env[REMOTE_ADDR] = @_io.kgio_addr
-      APP.call(@env.update(RACK_DEFAULTS))
+      APP.call(@env.merge!(RACK_DEFAULTS))
     rescue => e
       Rainbows::Error.app(e) # we guarantee this does not raise
       [ 500, {}, [] ]
diff --git a/lib/rainbows/event_machine/client.rb b/lib/rainbows/event_machine/client.rb
index 2fc9d03..3312f5d 100644
--- a/lib/rainbows/event_machine/client.rb
+++ b/lib/rainbows/event_machine/client.rb
@@ -38,7 +38,7 @@ class Rainbows::EventMachine::Client < EM::Connection
     @env[ASYNC_CALLBACK] = method(:em_write_response)
     @env[ASYNC_CLOSE] = EM::DefaultDeferrable.new
 
-    response = catch(:async) { APP.call(@env.update(RACK_DEFAULTS)) }
+    response = catch(:async) { APP.call(@env.merge!(RACK_DEFAULTS)) }
 
     # too tricky to support pipelining with :async since the
     # second (pipelined) request could be a stuck behind a