diff options
author | Eric Wong <normalperson@yhbt.net> | 2010-11-30 15:04:57 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2010-11-30 15:04:57 -0800 |
commit | 000726f5302f18ff095c68dfedf1547d0946209c (patch) | |
tree | 2798c9b097bffe8a85ead6da2c391363b7b80d6a /lib | |
parent | 61120b1268679bb8ffa157736e91e6846fd2a372 (diff) | |
download | metropolis-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.rb | 8 | ||||
-rw-r--r-- | lib/metropolis/common/ro.rb | 4 | ||||
-rw-r--r-- | lib/metropolis/hash.rb | 2 | ||||
-rw-r--r-- | lib/metropolis/tc/hdb.rb | 4 |
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) |