about summary refs log tree commit
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-11-30 15:04:57 -0800
committerEric Wong <normalperson@yhbt.net>2010-11-30 15:04:57 -0800
commit000726f5302f18ff095c68dfedf1547d0946209c (patch)
tree2798c9b097bffe8a85ead6da2c391363b7b80d6a /lib
parent61120b1268679bb8ffa157736e91e6846fd2a372 (diff)
downloadmetropolis-000726f5302f18ff095c68dfedf1547d0946209c.tar.gz
internal API: get and head methods require env
We'll need it for implementing the deflater/inflater
Diffstat (limited to 'lib')
-rw-r--r--lib/metropolis/common.rb8
-rw-r--r--lib/metropolis/common/ro.rb4
-rw-r--r--lib/metropolis/hash.rb2
-rw-r--r--lib/metropolis/tc/hdb.rb4
4 files changed, 9 insertions, 9 deletions
diff --git a/lib/metropolis/common.rb b/lib/metropolis/common.rb
index 2a3b841..273a1b3 100644
--- a/lib/metropolis/common.rb
+++ b/lib/metropolis/common.rb
@@ -27,9 +27,9 @@ module Metropolis::Common
       key = unescape($1)
       case env["REQUEST_METHOD"]
       when "GET"
-        get(key)
+        get(key, env)
       when "HEAD"
-        head(key)
+        head(key, env)
       when "DELETE"
         delete(key)
       when "PUT"
@@ -44,8 +44,8 @@ module Metropolis::Common
 
   # generic HEAD implementation, some databases can optimize this by
   # not retrieving the value
-  def head(key)
-    r = get(key)
+  def head(key, env)
+    r = get(key, env)
     r[2].clear
     r
   end
diff --git a/lib/metropolis/common/ro.rb b/lib/metropolis/common/ro.rb
index 10b5439..390e2c6 100644
--- a/lib/metropolis/common/ro.rb
+++ b/lib/metropolis/common/ro.rb
@@ -5,9 +5,9 @@ module Metropolis::Common::RO
       key = unescape($1)
       case env["REQUEST_METHOD"]
       when "GET"
-        get(key)
+        get(key, env)
       when "HEAD"
-        head(key)
+        head(key, env)
       else
         r(403)
       end
diff --git a/lib/metropolis/hash.rb b/lib/metropolis/hash.rb
index 698aef0..61b7199 100644
--- a/lib/metropolis/hash.rb
+++ b/lib/metropolis/hash.rb
@@ -35,7 +35,7 @@ module Metropolis::Hash
     @db = @path = nil
   end
 
-  def get(key)
+  def get(key, env)
     value = @db[key] or return r(404)
     [ 200, { 'Content-Length' => value.size.to_s }.merge!(@headers), [ value ] ]
   end
diff --git a/lib/metropolis/tc/hdb.rb b/lib/metropolis/tc/hdb.rb
index ce6d13a..09d6439 100644
--- a/lib/metropolis/tc/hdb.rb
+++ b/lib/metropolis/tc/hdb.rb
@@ -124,13 +124,13 @@ module Metropolis::TC::HDB
     r(200)
   end
 
-  def head(key)
+  def head(key, env)
     size = reader(key) { |hdb| hdb.vsiz(key) or ex!(:vsiz, hdb) }
     0 > size and return r(404, "")
     [ 200, { 'Content-Length' => size.to_s }.merge!(@headers), [] ]
   end
 
-  def get(key)
+  def get(key, env)
     value = nil
     reader(key) do |hdb|
       unless value = hdb.get(key)