Project

General

Profile

Actions

Bug #10733

closed

Time.httpdate raises ArgumentError when DateTime.now.httpdate is provided as input

Added by mcls (Maarten Claes) over 9 years ago. Updated about 9 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14]
[ruby-core:67538]

Description

An irb session demonstrating the bug:

irb(main):001:0> require 'time'
=> true
irb(main):002:0> Time.httpdate("Mon, 12 Jan 2015 12:04:15 GMT")
=> 2015-01-12 12:04:15 UTC
irb(main):003:0> DateTime.now.httpdate.to_s
=> "Mon, 12 Jan 2015 12:04:56 GMT"
irb(main):004:0> Time.httpdate(DateTime.now.httpdate.to_s)
ArgumentError: not RFC 2616 compliant date: "Mon, 12 Jan 2015 12:05:08 GMT"
        from /Users/mcls/.rbenv/versions/2.2.0/lib/ruby/2.2.0/time.rb:544:in `httpdate'
        from (irb):4
        from /Users/mcls/.rbenv/versions/2.2.0/bin/irb:11:in `<main>'

To reproduce:

require 'time'
Time.httpdate("Mon, 12 Jan 2015 12:04:15 GMT") # works
Time.httpdate(DateTime.now.httpdate.to_s) # => ArgumentError

It seems that this only occurs on 2.2.0. (Tested on 2.1.5 and it works fine)


Related issues 1 (0 open1 closed)

Is duplicate of Ruby master - Bug #10670: char-class matching same character with different encodings raises exceptionClosed12/29/2014Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0