about summary refs log tree commit
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-12-03 15:35:51 -0800
committerEric Wong <normalperson@yhbt.net>2010-12-03 15:35:51 -0800
commita84908349094bd8835d3261cd8b11dde863178fd (patch)
treea9157a5d546a1d3bcfbb00584806c60e97741547
parent18f37155265fd9271c80cda5b2403156d078186c (diff)
downloadmetropolis-a84908349094bd8835d3261cd8b11dde863178fd.tar.gz
deflate+gzip: do not wrap rack.input if already encoded
Clients may pre-compress input so we do not have to deal
with it on the server side.
-rw-r--r--lib/metropolis/deflate.rb2
-rw-r--r--lib/metropolis/gzip.rb2
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/metropolis/deflate.rb b/lib/metropolis/deflate.rb
index d585b43..37f0116 100644
--- a/lib/metropolis/deflate.rb
+++ b/lib/metropolis/deflate.rb
@@ -18,7 +18,7 @@ module Metropolis::Deflate
   end
 
   def put(key, env)
-    Wrapper.new(env)
+    Wrapper.new(env) if 'deflate' != env['HTTP_CONTENT_ENCODING']
     super(key, env)
   end
 
diff --git a/lib/metropolis/gzip.rb b/lib/metropolis/gzip.rb
index 50d71ef..b3191dc 100644
--- a/lib/metropolis/gzip.rb
+++ b/lib/metropolis/gzip.rb
@@ -16,7 +16,7 @@ module Metropolis::Gzip
   end
 
   def put(key, env)
-    Wrapper.new(env)
+    Wrapper.new(env) if 'gzip' != env['HTTP_CONTENT_ENCODING']
     super(key, env)
   end