aboutsummaryrefslogtreecommitdiffstats
path: root/lib/uri
Commit message (Collapse)AuthorAgeFilesLines
* * lib/uri/rfc2396_parser.rb (initialize_pattern):naruse2015-05-191-1/+1
| | | | | | | | | URI::Generic.build should accept port as a string. pattern[:PORT] is not defined for long. by Dave Slutzkin <daveslutzkin@fastmail.fm> https://github.com/ruby/ruby/pull/804 fix GH-804 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri: [doc] Update common.rb [ci-skip] [fixes GH-838]marcandre2015-02-241-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/mailto.rb: raising URI::InvalidComponentError insteadduerst2015-01-141-0/+4
| | | | | | | | of failing with undefined method `split' for nil:NilClass for mailto: URIs without opaque part. [Bug #10738] * test/uri/testuri.rb: Test for above git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/uri/common.rb: Initialize HTML5ASCIIINCOMPAT to empty Arrayduerst2014-12-301-2/+2
| | | | | | to avoid error during bootstrap when encodings are not yet defined. [Bug #10678] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/uri: performance improvements [misc #10628]normal2014-12-242-53/+63
| | | | | | | | | | | | | | | | * lib/uri/generic.rb (split_userinfo): fstring for 1-byte split (set_port): reduce bytecode size (check_path): reduce garbage via opt_str_freeze (query=): ditto (fragment=): ditto [misc #10628] * lib/uri/rfc3986_parser.rb (regexp): cache as attr (initialize): setup and freeze regexp attr once (split): reduce bytecode size, use opt_str_freeze (parse): minor bytecode and garbage reduction (default_regexp): rename for initialize git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/generic.rb (URI::Generic#query=): don't escape [\]^naruse2014-12-231-1/+1
| | | | | | on both rfc2396 and rfc3986. [Bug #10619] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/generic.rb (URI::Generic.build):naruse2014-12-011-1/+1
| | | | | | | | | | | | | | use hostname= to detect and wrap IPv6 hosts. Build is accepting URI components and users may not expect that a host component needs to be wrapped with square brackets since it's not providing a URI. Note: initialize with arg_check => true does not wrap IPv6 hosts. by Joe Rafaniello <jrafanie@redhat.com> https://github.com/ruby/ruby/pull/765 fix GH-765 * test/uri/test_generic.rb: Add more tests git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/mailto.rb (URI::MailTo::EMAIL_REGEXP): should escape `#`.usa2014-11-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/uri/rfc2396_parser.rb (initialize): reduce bytecode sizenormal2014-11-061-2/+2
| | | | | | | | | | | | | Reduce the initialize method from 2088 to 1332 bytes on 32-bit x86 Measurement obtained using `memsize_of_all', as `memsize_of' is non-recursive: a = ObjectSpace.memsize_of_all(RubyVM::InstructionSequence) RubyVM::InstructionSequence.compile(src) b = ObjectSpace.memsize_of_all(RubyVM::InstructionSequence) p(b - a) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/rfc3986_parser.rb (URI::RFC3986_Parser::RFC3986_URI):naruse2014-11-032-3/+3
| | | | | | | | allow '[' and ']' for URI input (and escape). [Bug #10402] * lib/uri/generic.rb (URI#query=): escape '[', '\', and ']'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/generic.rb (URI#inspect): remove Object id.naruse2014-10-071-2/+1
| | | | | | URI is considered that it doesn't require id. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/rfc3986_parser.rb: raise URI::InvalidURIError whenglass2014-09-271-1/+5
| | | | | | | | uri doesn't respond to #to_str. [ruby-core:64453] [Bug #10150] * test/uri/test_parser.rb: test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/rfc3986_parser.rb: specify a regexp for :OPAQUE; generic.rbnaruse2014-09-171-1/+1
| | | | | | | | assumes it is present, and will refuse all values otherwise. by Matthew Draper <matthew@trebex.net> https://github.com/ruby/ruby/pull/718 fix GH-718 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/drb/acl.rb: Removed meaningless #to_s methods in interpolation.hsbt2014-08-271-1/+1
| | | | | | | | | | | | [Feature #10174][ruby-core:64584] * lib/erb.rb: ditto. * lib/observer.rb: ditto. * lib/rake/invocation_chain.rb: ditto. * lib/rubygems/command_manager.rb: ditto. * lib/rubygems/config_file.rb: ditto. * lib/uri/common.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* uri/common.rb: use negative look-aheadnobu2014-08-251-1/+1
| | | | | | | | * lib/uri/common.rb (URI.decode_www_form_component): use negative look-ahead instead of nested repeat operators, to get rid of backtrack explosion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove path_querynaruse2014-08-051-6/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/generic.rb (URI::Generic#normalize!): use String#empty?naruse2014-08-051-16/+12
| | | | | | | | * lib/uri/generic.rb (URI::Generic#path_query): optimized. * lib/uri/generic.rb (URI::Generic#to_s): optimized. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/http.rb (URI::HTTP#request_uri): optimized.naruse2014-08-051-5/+5
| | | | | | | decrease object allocation, and ensure always create at least one new object for return value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/common.rb: [DOC] [Bug #9563] Recommend using URI.escapezzak2014-07-271-0/+3
| | | | | | | | before parsing a uri to avoid invalid characters. Reported by Evgeniy Serykh. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/common.rb: [DOC] [Bug #10075] Clarify how URI.join argumentszzak2014-07-271-1/+1
| | | | | | | are handled by RFC3986, originall reported by John Feminella. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/shell/command-processor.rb: remove unused variable.hsbt2014-07-261-1/+1
| | | | | | | | * lib/shell/system-command.rb: ditto. * lib/tmpdir.rb: ditto. * lib/uri/generic.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/generic.rb (URI::Generic#query=): remove validation, justnaruse2014-07-031-77/+30
| | | | | | | | | | | | | | | | escape. [Feature #2542] * lib/uri/generic.rb (URI::Generic#fragment=): ditto. * lib/uri/generic.rb (URI::Generic#check_query): removed. * lib/uri/generic.rb (URI::Generic#set_query): ditto. * lib/uri/generic.rb (URI::Generic#check_fragment): ditto. * lib/uri/generic.rb (URI::Generic#set_fragment): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* suppress warnings: assigned but unused variablenaruse2014-06-301-2/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove useless part of regexpnaruse2014-06-301-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/mailto.rb: update to latest specs, RFC 6068 and HTML5.naruse2014-06-271-65/+73
| | | | | | | | | | | | | | | | | | | | | | | | * lib/uri/mailto.rb (HEADER_PATTERN): removed. * lib/uri/mailto.rb (HEADER_REGEXP): use RFC 6068 hfields. * lib/uri/mailto.rb (EMAIL_REGEXP): use HTML5 email regexp. * lib/uri/mailto.rb (URI::MailTo.build): support multiple to addresses. * lib/uri/mailto.rb (URI::MailTo#initialize): Support multiple to addresses. Don't check with regexp, only split. * lib/uri/mailto.rb (URI::MailTo#check_to): verify by matching URI path-rootless and HTML5 email regexp with unescaped one. * lib/uri/mailto.rb (URI::MailTo#check_headers): verify only by HEADER_REGEXP. * lib/uri/mailto.rb (URI::MailTo#set_headers): don't check by HEADER_REGEXP, only split it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "* lib/uri/mailto.rb: support RFC6068."naruse2014-06-241-22/+43
| | | | | | to fix mailto URI syntax git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/mailto.rb: support RFC6068.naruse2014-06-231-43/+22
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/generic.rb (check_port): allow strings for port= asnaruse2014-06-232-2/+2
| | | | | | | | described in rdoc. * lib/uri/rfc3986_parser.rb (regexp): implementation detail of above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove registrynaruse2014-06-221-87/+32
| | | | | | 'registry' is not used and RFC3986 doesn't use it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/rfc3986_parser.rb: raise exception when given a URI string has non ↵naruse2014-06-221-0/+4
| | | | | | | | ASCII. It is to keep the regexp compiled for US-ASCII. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* support RFC3986 [Feature #2542]naruse2014-06-223-533/+655
| | | | | | | | | | | | | | | | | | | | | | * lib/uri/common.rb (URI::REGEXP): move to lib/uri/rfc2396_parser.rb. * lib/uri/common.rb (URI::Parser): ditto. * lib/uri/common.rb (URI.split): use RFC3986_Parser. * lib/uri/common.rb (URI.parse): ditto. * lib/uri/common.rb (URI.join): ditto. * lib/uri/common.rb (URI.extract): deprecated. * lib/uri/common.rb (URI.regexp): ditto. * lib/uri/rfc2396_parser.rb: added. * lib/uri/rfc3986_parser.rb: added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/uri/mailto.rb (initialize): as previous commit, fix arg_checknaruse2014-06-221-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix that arg_check didn't worknaruse2014-06-221-7/+14
| | | | | | | | * lib/uri/ftp.rb (initialize): arg[-1] was fragment, but it must be arg_check. * lib/uri/ftp.rb (initialize): explicitly specify arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/common.rb: [DOC] Use static w3.org uri [ci skip]zzak2014-01-211-1/+1
| | | | | | | Patch by @ykzts [Fix GH-484] https://github.com/ruby/ruby/pull/484 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/cgi/html.rb: fix typo by @windwiny [fix GH-506]hsbt2014-01-191-1/+1
| | | | | | | | | | | | | | * lib/net/http.rb: ditto * lib/rexml/attribute.rb: ditto * lib/rexml/element.rb: ditto * lib/rexml/source.rb: ditto * lib/rexml/streamlistener.rb: ditto * lib/rss/xmlparser.rb: ditto * lib/rubygems/commands/generate_index_command.rb: ditto * lib/shell.rb: ditto * lib/uri/common.rb:ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/generic.rb: [DOC] Fix typoa_matsuda2013-12-211-1/+1
| | | | | | | s/andn/and/ [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/common.rb: [DOC] Fix a broken link by @namusyaka [fix GH-478]hsbt2013-12-131-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/generic.rb: [DOC] Fix typoa_matsuda2013-11-291-1/+1
| | | | | | s/arguement/argument/ git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/common.rb: [DOC] typo fixes by @vipulnsward [Fixes GH-456]zzak2013-11-252-3/+3
| | | | | | | | https://github.com/ruby/ruby/pull/456 * lib/uri/generic.rb: [DOC] ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/generic.rb (URI::Generic.find_proxy): return nil ifnaruse2013-09-131-17/+15
| | | | | | | http_proxy environment variable is empty string. [ruby-core:57140] [Bug #8898] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/common.rb (URI.decode_www_form_component): Use String#b.knu2013-07-311-3/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/common.rb (URI.decode_www_form_component):sorah2013-07-311-1/+3
| | | | | | Don't raise error when str includes multibyte characters. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/generic.rb (find_proxy): raise BadURIError if the URI isnaruse2013-07-241-0/+1
| | | | | | a relative URI. [Bug #8645] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/common.rb (URI.decode_www_form): scrub string if decodednaruse2013-05-181-13/+9
| | | | | | bytes are invalid for the encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/common.rb (URI.decode_www_form): follow current URL Standard.naruse2013-04-251-30/+272
| | | | | | | | | | | | | It gets encoding argument to specify the character encoding. It now allows loose percent encoded strings, but denies ;-separator. [ruby-core:53475] [Bug #8103] * lib/uri/common.rb (URI.decode_www_form): follow current URL Standard. It gets encoding argument to convert before percent encode. Now UTF-16 strings aren't converted to UTF-8 before percent encode by default. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typo by @zsalzbank [fix GH-289]hsbt2013-04-171-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Finish docs for URI::FTP by @darkhelmet [fix GH-274]hsbt2013-04-091-1/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/ftp.rb (URI::FTP.new2): nodoc method from r39013 [Bug #7301]zzak2013-02-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/ftp.rb (URI::FTP.new2): remove the rdoc because it is notmame2013-02-021-8/+3
| | | | | | well tested yet. [Bug #7301] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/http.rb (URI::HTTP.build): Fix examplezzak2012-11-051-1/+1
| | | | | | | | Patch by Carina C. Zona [Fixes #209 Github] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e