summaryrefslogtreecommitdiff
path: root/lib/webrick/httprequest.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/webrick/httprequest.rb')
-rw-r--r--lib/webrick/httprequest.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/webrick/httprequest.rb b/lib/webrick/httprequest.rb
index 8943a037ff..576a750869 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,8 @@ module WEBrick
@raw_header = Array.new
@header = nil
@cookies = []
+ @accept = @accept_charset =
+ @accept_encoding = @accept_language = nil
@body = ""
@addr = @peeraddr = nil
@@ -83,6 +87,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 +132,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]