in the spirit of minimal-impact ''leave no trace'' principles,
this patch adds a missing feature, the ability to remove cookies.
usage:
@cookies.redbean = nil
a side note, the trunk seems to be broken when using Markaby. i''ve
tested this out using ngrep and firefox and opera w/ controllers that just
return strings in any case..
-------------- next part --------------
Index: lib/camping.rb
==================================================================---
lib/camping.rb (revision 194)
+++ lib/camping.rb (working copy)
@@ -25,7 +25,7 @@
"post" and e.CONTENT_TYPE ==
"application/x-www-form-urlencoded"
q.u C.qsp(@in.read)end;@cookies, at input=@k.dup,q.dup end;def service*a
@body=send(@method,*a)if
respond_to?@method;@headers["Set-Cookie"]=@cookies.map{
-|k,v|"#{k}=#{C.escape(v)}; path=#{self/''/''}"if
v!=@k[k]}-[nil];self end;def to_s
+|k,v|"#{k}=#{C.escape(v)};#{"max-age=0;"if
!v}path=#{self/''/''}"if v!=@k[k]}-[nil];self end;def to_s
a=[];@headers.map{|k,v|[*v].map{|x|a<<"#{k}:
#{x}"}};"Status: #{@status}#{Z+a*Z+
Z*2+ at body}"end;end;X=module Controllers;@r=[];class<<self;def
r;@r;end;def R*u
r=@r;Class.new{meta_def(:urls){u};meta_def(:inherited){|x|r<<x}}end;def
M;def M
Index: lib/camping-unabridged.rb
==================================================================---
lib/camping-unabridged.rb (revision 194)
+++ lib/camping-unabridged.rb (working copy)
@@ -438,7 +438,7 @@
# on before and after overrides with Camping.
def service(*a)
@body = send(@method, *a) if respond_to? @method
- @headers[''Set-Cookie''] = @cookies.map { |k,v|
"#{k}=#{C.escape(v)}; path=#{self/"/"}" if v != @k[k] } -
[nil]
+ @headers[''Set-Cookie''] = @cookies.map { |k,v|
"#{k}=#{C.escape(v)};#{"max-age=0;"if
!v}path=#{self/"/"}" if v != @k[k] } - [nil]
self
end