# File lib_core/rucy/request.rb, line 147
    def parse_line(input)
      for line in input
        line.chomp!("\n")
        line.chomp!("\r")
        next if line.empty?

        method, uri, version = line.split(/\s+/, 3)
        if (method.nil? || method.empty? || uri.nil? || uri.empty?) then
          raise ParseError, "failed to parse a request line: #{line.inspect}"
        end

        @method = method
        self.uri = uri
        if (version) then
          if (version =~ %"^HTTP/\d+\.\d+$") then
            @version = version
          else
            raise ParseError, "invalid HTTP version format: #{line.inspect}"
          end
        else
          @version = 'HTTP/0.9'
        end

        return
      end

      raise ParseError, 'closed input stream'
    end