freedom patches for fixes submitted to rack
This commit is contained in:
parent
030d2260a7
commit
b61d5c4092
|
@ -0,0 +1,42 @@
|
|||
# patch https://github.com/rack/rack/pull/600
|
||||
#
|
||||
class Rack::ETag
|
||||
private
|
||||
|
||||
def digest_body(body)
|
||||
parts = []
|
||||
has_body = false
|
||||
|
||||
body.each do |part|
|
||||
parts << part
|
||||
has_body ||= part.length > 0
|
||||
end
|
||||
|
||||
hexdigest =
|
||||
if has_body
|
||||
digest = Digest::MD5.new
|
||||
parts.each { |part| digest << part }
|
||||
digest.hexdigest
|
||||
end
|
||||
|
||||
[hexdigest, parts]
|
||||
end
|
||||
end
|
||||
|
||||
# patch https://github.com/rack/rack/pull/596
|
||||
#
|
||||
class Rack::ConditionalGet
|
||||
private
|
||||
def to_rfc2822(since)
|
||||
# shortest possible valid date is the obsolete: 1 Nov 97 09:55 A
|
||||
# anything shorter is invalid, this avoids exceptions for common cases
|
||||
# most common being the empty string
|
||||
if since && since.length >= 16
|
||||
# NOTE: there is no trivial way to write this in a non execption way
|
||||
# _rfc2822 returns a hash but is not that usable
|
||||
Time.rfc2822(since) rescue nil
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue