In Files

  • webrick/httpversion.rb

Parent

Included Modules

WEBrick::HTTPVersion

Represents an HTTP protocol version

Attributes

major[RW]

The major protocol version number

minor[RW]

The minor protocol version number

Public Class Methods

convert(version) click to toggle source

Converts version into an HTTPVersion

 
               # File webrick/httpversion.rb, line 31
def self.convert(version)
  version.is_a?(self) ? version : new(version)
end
            
new(version) click to toggle source

Creates a new HTTPVersion from version.

 
               # File webrick/httpversion.rb, line 38
def initialize(version)
  case version
  when HTTPVersion
    @major, @minor = version.major, version.minor
  when String
    if /^(\d+)\.(\d+)$/ =~ version
      @major, @minor = $1.to_i, $2.to_i
    end
  end
  if @major.nil? || @minor.nil?
    raise ArgumentError,
      format("cannot convert %s into %s", version.class, self.class)
  end
end
            

Public Instance Methods

<=>(other) click to toggle source

Compares this version with other according to the HTTP specification rules.

 
               # File webrick/httpversion.rb, line 57
def <=>(other)
  unless other.is_a?(self.class)
    other = self.class.new(other)
  end
  if (ret = @major <=> other.major) == 0
    return @minor <=> other.minor
  end
  return ret
end
            
to_s() click to toggle source

The HTTP version as show in the HTTP request and response. For example, “1.1”

 
               # File webrick/httpversion.rb, line 71
def to_s
  format("%d.%d", @major, @minor)
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus