method
read_request_line
v1_9_1_378 -
Show latest stable
- Class:
WEBrick::HTTPRequest
read_request_line(socket)private
No documentation available.
# File lib/webrick/httprequest.rb, line 245
def read_request_line(socket)
@request_line = read_line(socket, 1024) if socket
if @request_line.bytesize >= 1024 and @request_line[-1, 1] != LF
raise HTTPStatus::RequestURITooLarge
end
@request_time = Time.now
raise HTTPStatus::EOFError unless @request_line
if /^(\S+)\s+(\S++)(?:\s+HTTP\/(\d+\.\d+))?\r?\n/o =~ @request_line
@request_method = $1
@unparsed_uri = $2
@http_version = HTTPVersion.new($3 ? $3 : "0.9")
else
rl = @request_line.sub(/\x0d?\x0a\z/, '')
raise HTTPStatus::BadRequest, "bad Request-Line `#{rl}'."
end
end