Class: WEBrick::Cookie

Class | WEBrick::Cookie
In: | webrick/cookie.rb
Parent: | Object

### Methods

expires expires= new parse to_s

### Attributes

comment | [RW] |
domain | [RW] |
max_age | [RW] |
name | [R] |
path | [RW] |
secure | [RW] |
value | [RW] |
version | [RW] |

### Public Class methods

new(name, value)

attr_accessor :comment_url, :discard, :port

[Source]

    # File webrick/cookie.rb, line 23
        def initialize(name, value)
          @name = name
          @value = value
          @version = 0     # Netscape Cookie

          @domain = @path = @secure = @comment = @max_age =
          @expires = @comment_url = @discard = @port = nil
        end

parse(str)

Cookie::parse()

      It parses Cookie field sent from the user agent.

[Source]

    # File webrick/cookie.rb, line 55
        def self.parse(str)
          if str
            ret = []
            cookie = nil
            ver = 0
            str.split(/[;,]\s+/).each{|x|
              key, val = x.split(/=/,2)
              val = val ? HTTPUtils::dequote(val) : ""
              case key
              when "$Version"; ver = val.to_i
              when "$Path";    cookie.path = val
              when "$Domain";  cookie.domain = val
              when "$Port";    cookie.port = val
              else
                ret << cookie if cookie
                cookie = self.new(key, val)
                cookie.version = ver
              end
            }
            ret << cookie if cookie
            ret
          end
        end

### Public Instance methods

expires()

[Source]

    # File webrick/cookie.rb, line 36
        def expires
          @expires && Time.parse(@expires)
        end

expires=(t)

[Source]

    # File webrick/cookie.rb, line 32
        def expires=(t)
          @expires = t && (t.is_a?(Time) ? t.httpdate : t.to_s)
        end

to_s()

[Source]

    # File webrick/cookie.rb, line 40
        def to_s
          ret = ""
          ret << @name << "=" << @value
          ret << "; " << "Version=" << @version.to_s if @version > 0
          ret << "; " << "Domain="  << @domain  if @domain
          ret << "; " << "Expires=" << @expires if @expires
          ret << "; " << "Max-Age=" << @max_age.to_s if @max_age
          ret << "; " << "Comment=" << @comment if @comment
          ret << "; " << "Path="    << @path if @path
          ret << "; " << "Secure"   if @secure
          ret
        end

[Validate]