202: def delete_cookie_header!(header, key, value = {})
203: case header["Set-Cookie"]
204: when nil, ''
205: cookies = []
206: when String
207: cookies = header["Set-Cookie"].split("\n")
208: when Array
209: cookies = header["Set-Cookie"]
210: end
211:
212: cookies.reject! { |cookie|
213: if value[:domain]
214: cookie =~ /\A#{escape(key)}=.*domain=#{value[:domain]}/
215: else
216: cookie =~ /\A#{escape(key)}=/
217: end
218: }
219:
220: header["Set-Cookie"] = cookies.join("\n")
221:
222: set_cookie_header!(header, key,
223: {:value => '', :path => nil, :domain => nil,
224: :expires => Time.at(0) }.merge(value))
225:
226: nil
227: end