Project

General

Profile

Bug #13406

Updated by shyouhei (Shyouhei Urabe) almost 7 years ago

Previously we were using 

 ``` 
 ruby '2.1.9' 
 rails '4.1.1' 

 uri = URI.parse("http://" + 'abc.com') # Here, domain name abc.com is provided using single quotation. 
 ``` 

 This was throwing exception as domain name is invalid as it contain single quotation and that's what we want 

 Following is the stack trace 

 ``` 
 2.1.9 :001 > a = '\'abc.com\'' 
  => "'abc.com'"  
 2.1.9 :002 > URI.parse("http://" + a) 
 URI::InvalidURIError: the scheme http does not accept registry part: 'abc.com' (or bad hostname?) 
	 from /usr/local/rvm/rubies/ruby-2.1.9/lib/ruby/2.1.0/uri/generic.rb:214:in `initialize' 
	 from /usr/local/rvm/rubies/ruby-2.1.9/lib/ruby/2.1.0/uri/common.rb:214:in `new' 
	 from /usr/local/rvm/rubies/ruby-2.1.9/lib/ruby/2.1.0/uri/common.rb:214:in `parse' 
	 from /usr/local/rvm/rubies/ruby-2.1.9/lib/ruby/2.1.0/uri/common.rb:747:in `parse' 
	 from (irb):2 
	 from /usr/local/rvm/gems/ruby-2.1.9@clearstream/gems/railties-4.1.1/lib/rails/commands/console.rb:90:in `start' 
	 from /usr/local/rvm/gems/ruby-2.1.9@clearstream/gems/railties-4.1.1/lib/rails/commands/console.rb:9:in `start' 
	 from /usr/local/rvm/gems/ruby-2.1.9@clearstream/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:69:in `console' 
	 from /usr/local/rvm/gems/ruby-2.1.9@clearstream/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:40:in `run_command!' 
	 from /usr/local/rvm/gems/ruby-2.1.9@clearstream/gems/railties-4.1.1/lib/rails/commands.rb:17:in `<top (required)>' 
	 from bin/rails:8:in `require' 
	 from bin/rails:8:in `<main>' 
 ``` 

 


 Now, we have upgraded to  

 ``` 
  
 ruby '2.4.1' 
 rails '5.0.2' 

 uri = URI.parse("http://" + 'abc.com')  
 ``` 

  

 Now, it doesn't throw any exception and allows domain name with single quotation. 

 ``` 
 2.4.1 :005 > a = '\'abc.com\'' 
  => "'abc.com'"  
 2.4.1 :006 > URI.parse("http://" + a) 
  => #<URI::HTTP http://'abc.com'>  
 2.4.1 :007 >  
 ```

Back