def uri
      uri = %Q{#{self['rack.url_scheme']}://#{self['SERVER_NAME']}:#{self['SERVER_PORT']}#{self['REQUEST_URI']}}
      begin
        URI.parse(uri)
      rescue StandardError => e
        raise ArgumentError, "Invalid #{uri}", e.backtrace
      end
    end
def uri
      uri = %Q{#{self['rack.url_scheme']}://#{self['SERVER_NAME']}:#{self['SERVER_PORT']}#{self['REQUEST_URI']}}
      begin
        URI.parse(uri)
      rescue StandardError => e
        raise ArgumentError, "Invalid #{uri}", e.backtrace
      end
    end
Returns uri from Rack environment.
 Throws ArgumentError for invalid uri.