No description
Find a file
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
lib Add support for the HttpOnly attribute. 2013-03-12 18:32:18 +09:00
test Add support for the HttpOnly attribute. 2013-03-12 18:32:18 +09:00
.gitignore Import cookie related stuff from Mechanize. 2012-10-14 18:52:52 +09:00
Gemfile Import cookie related stuff from Mechanize. 2012-10-14 18:52:52 +09:00
http-cookie.gemspec Enable code coverage. 2012-11-06 01:12:29 +09:00
LICENSE.txt Import cookie related stuff from Mechanize. 2012-10-14 18:52:52 +09:00
Rakefile Enable code coverage. 2012-11-06 01:12:29 +09:00
README.md Put a couple of to-do items I am working on. 2013-03-08 21:31:11 +09:00

HTTP::Cookie

HTTP::Cookie is a ruby library to handle HTTP cookies in a way both compliant with RFCs and compatible with today's major browsers.

It was originally a part of the Mechanize library, separated as an independent library in the hope of serving as a common component that is reusable from any HTTP related piece of software.

Installation

Add this line to your application's Gemfile:

gem 'http-cookie'

And then execute:

$ bundle

Or install it yourself as:

$ gem install http-cookie

Usage

# Initialize a cookie jar
jar = HTTP::CookieJar.new

# Load from a file
jar.load(filename) if File.exist?(filename)

# Store received cookies
HTTP::Cookie.parse(set_cookie_header_value, :origin => uri) { |cookie|
  jar << cookie
}

# Extract cookies to send
cookie_value_to_send = jar.cookies(uri).join(', ')

# Save to a file
jar.save_as(filename)

To-Do list

  • Print kind error messages to make migration from Mechanize::Cookie easier

  • Make serializers pluggable/autoloadable and prepare a binary friendly API

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request