Changeset 8108
- Timestamp:
- 11/07/07 14:57:51 (2 years ago)
- Files:
-
- trunk/actionpack/CHANGELOG (modified) (1 diff)
- trunk/actionpack/lib/action_controller/request.rb (modified) (3 diffs)
- trunk/actionpack/test/controller/request_test.rb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/actionpack/CHANGELOG
r8104 r8108 1 1 *SVN* 2 3 * Fixed handling of non-domain hosts #9479 [purp] 2 4 3 5 * Fix syntax error in documentation example for cycle method. Closes #8735 [foca] trunk/actionpack/lib/action_controller/request.rb
r7992 r8108 192 192 # a different <tt>tld_length</tt>, such as 2 to catch rubyonrails.co.uk in "www.rubyonrails.co.uk". 193 193 def domain(tld_length = 1) 194 return nil if !/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/.match(host).nil? or host.nil?194 return nil unless named_host?(host) 195 195 196 196 host.split('.').last(1 + tld_length).join('.') … … 201 201 # in "www.rubyonrails.co.uk". 202 202 def subdomains(tld_length = 1) 203 return [] unless host203 return [] unless named_host?(host) 204 204 parts = host.split('.') 205 205 parts[0..-(tld_length+2)] … … 386 386 "exception" => "#{e.message} (#{e.class})", 387 387 "backtrace" => e.backtrace } 388 end 389 390 def named_host?(host) 391 !(host.nil? || /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.match(host)) 388 392 end 389 393 trunk/actionpack/test/controller/request_test.rb
r8064 r8108 52 52 assert_nil @request.domain 53 53 54 @request.host = "foo.192.168.1.200" 55 assert_nil @request.domain 56 57 @request.host = "192.168.1.200.com" 58 assert_equal "200.com", @request.domain 59 54 60 @request.host = nil 55 61 assert_nil @request.domain … … 68 74 @request.host = "foobar.foobar.com" 69 75 assert_equal %w( foobar ), @request.subdomains 76 77 @request.host = "192.168.1.200" 78 assert_equal [], @request.subdomains 79 80 @request.host = "foo.192.168.1.200" 81 assert_equal [], @request.subdomains 82 83 @request.host = "192.168.1.200.com" 84 assert_equal %w( 192 168 1 ), @request.subdomains 70 85 71 86 @request.host = nil