diff options
Diffstat (limited to 'lib/webrick/httprequest.rb')
-rw-r--r-- | lib/webrick/httprequest.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/webrick/httprequest.rb b/lib/webrick/httprequest.rb index 8943a037ff..f87883c310 100644 --- a/lib/webrick/httprequest.rb +++ b/lib/webrick/httprequest.rb @@ -32,6 +32,8 @@ module WEBrick # Header and entity body attr_reader :raw_header, :header, :cookies + attr_reader :accept, :accept_charset + attr_reader :accept_encoding, :accept_language # Misc attr_accessor :user @@ -56,6 +58,10 @@ module WEBrick @raw_header = Array.new @header = nil @cookies = [] + @accept = [] + @accept_charset = [] + @accept_encoding = [] + @accept_language = [] @body = "" @addr = @peeraddr = nil @@ -83,6 +89,10 @@ module WEBrick @header['cookie'].each{|cookie| @cookies += Cookie::parse(cookie) } + @accept = HTTPUtils.parse_qvalues(self['accept']) + @accept_charset = HTTPUtils.parse_qvalues(self['accept-charset']) + @accept_encoding = HTTPUtils.parse_qvalues(self['accept-encoding']) + @accept_language = HTTPUtils.parse_qvalues(self['accept-language']) end return if @request_method == "CONNECT" return if @unparsed_uri == "*" @@ -124,6 +134,14 @@ module WEBrick @query end + def content_length + return Integer(self['content-length']) + end + + def content_type + return self['content-type'] + end + def [](header_name) if @header value = @header[header_name.downcase] |