about summary refs log tree commit homepage
path: root/lib/mongrel.rb
diff options
context:
space:
mode:
authorzedshaw <zedshaw@19e92222-5c0b-0410-8929-a290d50e31e9>2006-12-16 04:26:54 +0000
committerzedshaw <zedshaw@19e92222-5c0b-0410-8929-a290d50e31e9>2006-12-16 04:26:54 +0000
commit0d2428d0f4b82e1872f9b3152145f7e2ad399649 (patch)
tree9e7cb83b438d759f2c51e2f31de07c1ae0c34891 /lib/mongrel.rb
parent4a3f4095b6f2cb60cb1c798af886dc9bb47d8d66 (diff)
downloadunicorn-0d2428d0f4b82e1872f9b3152145f7e2ad399649.tar.gz
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@470 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'lib/mongrel.rb')
-rw-r--r--lib/mongrel.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/mongrel.rb b/lib/mongrel.rb
index 7c6b406..4a7e352 100644
--- a/lib/mongrel.rb
+++ b/lib/mongrel.rb
@@ -125,7 +125,7 @@ module Mongrel
     REQUEST_URI='REQUEST_URI'.freeze
     REQUEST_PATH='REQUEST_PATH'.freeze
 
-    MONGREL_VERSION="0.3.19".freeze
+    MONGREL_VERSION="0.3.20".freeze
 
     MONGREL_TMP_BASE="mongrel".freeze
 
@@ -336,15 +336,18 @@ module Mongrel
   # semantics for Hash (where doing an insert replaces) is not there.
   class HeaderOut
     attr_reader :out
+    attr_accessor :allowed_duplicates
 
     def initialize(out)
       @sent = {}
+      @allowed_duplicates = {"Set-Cookie" => true, "Set-Cookie2" => true,
+        "Warning" => true, "WWW-Authenticate" => true}
       @out = out
     end
 
     # Simply writes "#{key}: #{value}" to an output buffer.
     def[]=(key,value)
-      if not @sent.has_key?(key)
+      if not @sent.has_key?(key) or @allowed_duplicates.has_key?(key)
         @sent[key] = true
         @out.write(Const::HEADER_FORMAT % [key, value])
       end