Commit graph

87 commits

Author SHA1 Message Date
Akinori MUSHA
c99825de21 Cookie.parse() returns an array of cookies. 2013-03-15 18:35:13 +09:00
Akinori MUSHA
d2cb5ff69d Bump VERSION to 0.1.3. 2013-03-15 12:31:49 +09:00
Akinori MUSHA
15f960bfbd Reduce warnings. 2013-03-15 12:31:19 +09:00
Akinori MUSHA
4845b0de94 Trying to preload psych only on Ruby 1.9.2. 2013-03-15 12:29:54 +09:00
Akinori MUSHA
631608f82d Bump VERSION to 0.1.2. 2013-03-15 12:14:58 +09:00
Akinori MUSHA
f936d91521 1.8 compatibility: Fix syntax and remove dependency on hash key order. 2013-03-15 12:13:59 +09:00
Akinori MUSHA
b2920eda0f Do not chdir in test. It breaks autoloads since test is run with -Ilib. 2013-03-15 12:12:53 +09:00
Akinori MUSHA
59ddb58b25 1.8 compatibility; Use IndexError instead of KeyError. 2013-03-15 12:11:38 +09:00
Akinori MUSHA
05e5d332df These autoloads do not serve much. 2013-03-15 12:10:22 +09:00
Akinori MUSHA
236f3af719 Extend URI() globally. URI() is like everywhere by now. 2013-03-15 12:08:45 +09:00
Akinori MUSHA
e09d7ebcac Drop rcovtask for 1.8. It does not work for me. 2013-03-15 12:07:54 +09:00
Akinori MUSHA
a74db60721 Bump VERSION to 0.1.1. 2013-03-15 11:36:58 +09:00
Akinori MUSHA
8be03978a0 Make each(uri) not fail if a non-HTTP URL is given.
Fix documents with #each.  The uri argument was not made a keyword
argument.

Guarantee that the +uri+ given to AbstractStore#each() is a URI
object.

Make HashStore#each return self as required.
2013-03-15 11:33:54 +09:00
Akinori MUSHA
9d3975f641 A Store class should define empty?. 2013-03-15 11:27:02 +09:00
Akinori MUSHA
b86690cb21 Check if the scheme is http(s) and the host is non-nil in URI. 2013-03-15 11:21:57 +09:00
Akinori MUSHA
c2e0dbb96f Bump VERSION to 0.1.0. 2013-03-15 10:52:04 +09:00
Akinori MUSHA
5cebc4e56d Ignore incompatible YAML data. 2013-03-15 10:46:50 +09:00
Akinori MUSHA
f7bb9d6272 Perform markups. 2013-03-15 10:12:08 +09:00
Akinori MUSHA
c0d5f3a121 Add error messages to make migration from Mechanize::Cookie easier.
Add a section to elaborate on the incompatibilities to README.md.
2013-03-15 05:53:11 +09:00
Akinori MUSHA
8d8f01fa81 Cap the numbers of cookies per domain and cookies total, respectively.
This is implemented in HashStore#cleanup(), which is automatically
called by #add() after every 150 updates.
2013-03-15 04:20:59 +09:00
Akinori MUSHA
d004408296 Introduce an abstraction layer for the cookie store.
CookieJar#jar is removed and #store is added instead.
2013-03-15 04:20:59 +09:00
Akinori MUSHA
1f5eb6bc7f Introduce an abstraction layer for saving (serializing) CookieJar.
CookieJar#save is the new name for the now obsolete #save_as.

CookieJar#save and #load now accept IO-like instead of a filename.

Change the YAML file format, and make #load discard incompatible data.
2013-03-15 04:20:59 +09:00
Akinori MUSHA
fd7450717a Implement HTTP::CookieJar#empty? without an argument. 2013-03-15 04:20:59 +09:00
Akinori MUSHA
3b38cd2ffd Use multi-assignment. 2013-03-15 04:20:59 +09:00
Akinori MUSHA
a831fc424c Add HTTP::Cookie#set_cookie_value, and alias #cookie_value to #to_s. 2013-03-15 04:20:59 +09:00
Akinori MUSHA
f60e678cb8 Do not store a cookie if it is already expired at the time of adding. 2013-03-15 04:20:59 +09:00
Akinori MUSHA
1fcf008cf0 Make HTTP::Cookie#expired? optionally take a time. 2013-03-15 04:20:59 +09:00
Akinori MUSHA
d8be652a92 Add HTTP::Cookie#expire. 2013-03-15 04:20:58 +09:00
Akinori MUSHA
91193dace3 Fix saving in the cookies.txt format. Expires values were broken.
Remove duplicate and incomplete tests.
2013-03-15 04:20:58 +09:00
Akinori MUSHA
84d375e3b7 Make HTTP::Cookie.parse() reject cookies longer than 4096 bytes.
This limit is defined as HTTP::Cookie::MAX_LENGTH.
2013-03-15 04:20:58 +09:00
Akinori MUSHA
10e9ca5c60 Add HTTP::Cookie#session? as an alias for #session. 2013-03-15 04:20:58 +09:00
Akinori MUSHA
9d842404e3 Fix <=> so that two cookies of different values are not equal. 2013-03-12 18:32:18 +09:00
Akinori MUSHA
ea4759bd27 Add a test for <=>. 2013-03-12 18:32:18 +09:00
Akinori MUSHA
7554bffb32 Allow passing a base time to HTTP::Cookie.parse() via :date. 2013-03-12 18:32:18 +09:00
Akinori MUSHA
6d8fb94f83 Add support for the HttpOnly attribute.
New methods are added to HTTP::Cookie: httponly?, httponly=
2013-03-12 18:32:18 +09:00
Akinori MUSHA
2af7ffa907 Refactor the test code. 2013-03-12 18:32:18 +09:00
Akinori MUSHA
87bd991a81 Put a couple of to-do items I am working on. 2013-03-08 21:31:11 +09:00
Akinori MUSHA
f79387080b Use Hash#clear rather than creating a new one. 2013-03-08 21:31:11 +09:00
Akinori MUSHA
5f21b364d3 Remove an unused variable to suppress warning. 2013-03-08 21:31:11 +09:00
Akinori MUSHA
b05008d996 Always initialize @origin to suppress warning. 2013-03-08 21:31:11 +09:00
Akinori MUSHA
3ec9dc3200 Reduce warnings from the interpreter. (method redefinition) 2013-03-08 21:31:11 +09:00
Akinori MUSHA
92fe768c7f Merge pull request #1 from mmorearty/patch-cookiejar-header
Add header line when writing to cookies.txt
2013-03-08 03:34:31 -08:00
Mike Morearty
184fae797e Slight change to cookie-jar header
Instead of "Netscape HTTP Cookie File", now writing "HTTP Cookie File".
Python's cookie code recognizes either one.
2013-02-18 15:54:14 -08:00
Mike Morearty
0decfe98b7 Add header line when writing to cookies.txt
When Python is reading a Netscape-format cookies.txt file, it seems to
require an initial line that looks like this:

    # Netscape HTTP Cookie File
2013-02-17 18:23:32 -08:00
Akinori MUSHA
3c6659f43a Enable code coverage. 2012-11-06 01:12:29 +09:00
Akinori MUSHA
4bb4d51f8d Use a newer version of test-unit. 2012-11-06 00:05:09 +09:00
Akinori MUSHA
f4cd8ffb58 Hide load_yaml, renaming to require_yaml. 2012-10-22 15:14:19 +09:00
Akinori MUSHA
2a9476707c HTTP::CookieJar#load: Use File.open() instead of Kernel#open(). 2012-10-22 15:10:34 +09:00
Akinori MUSHA
7fa5b10df6 HTTP::CookieJar#each: Take an optional URL/URI which is used as a scope.
Do not call cleanup in each or cookies.
2012-10-22 15:08:08 +09:00
Akinori MUSHA
7c5ac21d0f HTTP::CookieJar#cleanup: Use delete_if. 2012-10-22 15:03:36 +09:00