aboutsummaryrefslogtreecommitdiffstats
path: root/lib/net/http
Commit message (Collapse)AuthorAgeFilesLines
* raise error if value contains CR/LF in iniheader of initialize_http_headernaruse2017-12-201-3/+7
| | | | | | like r59693, initialize_http_header also should raise error. [Bug #14208] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add uplevel keyword to Kernel#warn and use itshyouhei2017-12-123-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If uplevel keyword is given, the warning message is prepended with caller file and line information and the string "warning: ". The use of the uplevel keyword makes Kernel#warn format output similar to how rb_warn formats output. This patch modifies net/ftp and net/imap to use Kernel#warn instead of $stderr.puts or $stderr.printf, since they are used for printing warnings. This makes lib/cgi/core and tempfile use $stderr.puts instead of warn for debug logging, since they are used for debug printing and not for warning. This does not modify bundler, rubygems, or rdoc, as those are maintained outside of ruby and probably wish to remain backwards compatible with older ruby versions. rb_warn_m code is originally from nobu, but I've changed it so that it only includes the path and lineno from uplevel (not the method), and also prepends the string "warning: ", to make it more similar to rb_warn. From: Jeremy Evans code@jeremyevans.net Signed-off-by: Urabe Shyouhei shyouhei@ruby-lang.org git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fixed misspelling words.hsbt2017-10-221-2/+2
| | | | | | These are detected by https://github.com/client9/misspell git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use caller with length to reduce unused stringskazu2017-10-211-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* HTTPHeader#add_field should allow binary [Bug #13926]naruse2017-09-251-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* to_str -> to_sko12017-08-301-1/+1
| | | | | | | * lib/net/http/header.rb (set_field): `val` can not have `to_str`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* A HTTP Header value must not contain CR or LF.naruse2017-08-301-2/+30
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix `NameError: uninitialized constant Net`kazu2017-08-041-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Define classes for r58800naruse2017-05-191-5/+18
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Net::HTTP::STATUS_CODES is added as HTTP Status Code Repository [Misc #12935]naruse2017-05-191-0/+81
| | | | | | | | Note that 418 I'm a teapot doesn't exist because RFC 2324 and RFC 7168 are not registered in IANA repository. https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add more HTTP status classesnaruse2017-05-191-1/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix undefined method 'dump' for nil:NilClass (NoMethodError)a_matsuda2016-11-081-1/+3
| | | | | | | | | Patch by: Dmitry Vorotilin <d.vorotilin@gmail.com> (@route) Signed-off-by: Akira Matsuda <ronnie@dio.jp> closes #1475 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/response.rb: Improve document readability.hsbt2016-10-051-2/+2
| | | | | | [fix GH-1411][ci skip] Patch by @stz-seongheon git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/header.rb: Fix typo. [ci skip][fix GH-1407]hsbt2016-08-161-1/+1
| | | | | | * transcode.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/generic_rquest.rb (write_header): A Request-Line mustshugo2016-07-061-1/+6
| | | | | | not contain CR or LF. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/header.rb: [DOC] add documentation thatktsj2016-05-041-0/+10
| | | | | | | Net::HTTPHeader#{each_header,each_name,each_capitalized_name, each_value,each_capitalized} without block returns an enumerator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/header.rb (Net::HTTPHeader#{each_header,each_name,ktsj2016-05-041-5/+5
| | | | | | | | | each_capitalized_name,each_value,each_capitalized}): Return sized enumerators. * test/net/http/test_httpheader.rb: add test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* net/http/header.rb: refactornobu2016-04-251-12/+8
| | | | | | | | | * lib/net/http/header.rb (connection_close?): match headers without making intermediate arrays. * lib/net/http/header.rb (connection_keep_alive?): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/header.rb: Warn nil variable on HTTP Header.hsbt2016-01-291-2/+5
| | | | | | | It caused to NoMethodError. [fix GH-952][fix GH-641] Patch by @teosz * test/net/http/test_httpheader.rb: Added test for nil HTTP Header. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* stdlib: avoid extra calls to eliminate "\n" from Base64normal2016-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | We may use the '0' (zero) to avoid adding the line feed. Furthermore, the '*' (asterisk) modifier is not needed for a single-element arrays. * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String): eliminate chomp * lib/net/http.rb (connect): eliminate delete * lib/net/http/header.rb (basic_encode): ditto * lib/net/imap.rb (authenticate): eliminate gsub (self.encode_utf7): shorten delete arg * lib/net/smtp.rb (base64_encode): eliminate gsub * lib/open-uri.rb (OpenURI.open_http): eliminate delete * lib/rss/rss.rb: ditto * lib/securerandom.rb (base64): ditto (urlsafe_base64): eliminate delete! * lib/webrick/httpauth/digestauth.rb (split_param_value): eliminate chop * lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete (setup_upstream_proxy_authentication): ditto [ruby-core:72666] [Feature #11938] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/responses.rb: Added new response class for 451 status code.hsbt2015-12-301-0/+3
| | | | | | * lib/net/http.rb: documentation for HTTPUnavailableForLegalReasons git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* [DOC] Fix typosa_matsuda2015-12-231-1/+1
| | | | | | | | | | | | | | | | | * benchmark.rb * getoptlong.rb * irb.rb * net/http.rb * net/http/header.rb * net/imap.rb * optparse.rb * pstore.rb * webrick.rb * xmlrpc.rb [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add frozen_string_literal: false for all filesnaruse2015-12-169-0/+9
| | | | | | When you change this to true, you may need to add more tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/lib/socket.rb: use safe navigation operator.hsbt2015-12-141-1/+1
| | | | | | | | | | | [fix GH-1142] Patch by @mlarraz * lib/drb/extservm.rb: ditto. * lib/net/http.rb: ditto. * lib/net/http/response.rb: ditto. * lib/scanf.rb: ditto. * lib/uri/generic.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/response.rb (Net::HTTPResponse::Inflater#finish):ktsj2015-08-011-0/+1
| | | | | | | | | fix a bug that empty gzipped response body causes Zlib::BufError. [ruby-core:68846] [Bug #11058] * test/net/http/test_httpresponse.rb: tests for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/response.rb (Net::HTTPResponse#inflater):ktsj2015-08-011-3/+3
| | | | | | | fix TypeError. An exception object might be nil. [ruby-core:68846] [Bug #11058] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/responses.rb: Added 308 status to CODE_TO_OBJ list.hsbt2015-07-091-0/+1
| | | | | | [fix GH-961] Patch by @billinghamj git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix previous commit for nil casenaruse2015-06-291-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/response.rb (inflater): CONTENT_ENCODING can be uppernaruse2015-06-291-1/+1
| | | | | | case. [ruby-core:69670] [Bug #11285] patched by Andy Chu git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/*: use io/wait methods instead of IO.selectnormal2015-04-151-1/+1
| | | | | | | | | | | | | | | io/wait is expected to work on any platform where sockets are supported. io/wait methods uses fewer allocations and uses ppoll internally under Linux for better performance on high-numbered FDs. [ruby-core:35572] describes the performance advantage of ppoll on high-numbered FDs. * lib/net/protocol.rb (rbuf_fill): use IO#wait_*able * lib/net/http/generic_request.rb (wait_for_continue): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/header.rb: pass header names as symbols.hsbt2015-02-081-1/+1
| | | | | | | Patch by @DamirSvrtan [fix GH-805] * test/net/http/test_httpheader.rb: added test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/response.rb (Net::HTTPResponse): require one or morenaruse2014-12-231-1/+1
| | | | | | | | | spaces [Bug #10591]. by leriksen <leif.eriksen.au@gmail.com> https://github.com/ruby/ruby/pull/782 fix GH-782 NOTE: graph.facebook.com returns without SP Reason-Phrase. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/requests.rb (Net::HTTP::Options::RESPONSE_HAS_BODY):naruse2014-08-051-1/+1
| | | | | | | OPTIONS requests may have response bodies. [Feature #8429] http://tools.ietf.org/html/rfc7231#section-4.3.7 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/generic_request.rb (Net::HTTP::GenericRequest#exec):naruse2014-08-051-11/+2
| | | | | | | | | | | | handle req['host'] in update_uri. * lib/net/http/generic_request.rb (Net::HTTP::GenericRequest#update_uri): use req['host'] if it is explicitly set. Even if URI is given, it is already used for the initial value of req['host']. Therefore overwritten value should be respected. [Bug #10054] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/generic_request.rbnaruse2014-08-051-10/+23
| | | | | | | | | | (Net::HTTP::GenericRequest#update_uri): handle scheme, host, and port to reflect connection to @uri. * lib/net/http.rb (Net::HTTP#begin_transport): move trivial handling to Net::HTTP::GenericRequest#update_uri. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/generic_request.rbnaruse2014-08-051-9/+8
| | | | | | | (Net::HTTP::GenericRequest#initialize): optimize object allocation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/cgi/core.rb: remove unused variables.hsbt2014-07-271-1/+0
| | | | | | | | | | | | | | | | * lib/erb.rb: ditto. * lib/mkmf.rb: ditto. * lib/net/http/response.rb: ditto. * lib/optparse/version.rb: ditto. * lib/prime.rb: ditto. * lib/racc/parser.rb: ditto. * lib/rexml/document.rb: ditto. * lib/rexml/dtd/dtd.rb: ditto. * lib/rexml/element.rb: ditto. * lib/rexml/functions.rb: ditto. * lib/rexml/parsers/xpathparser.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/htp/response.rb (Net::Inflater#inflate_adapter):naruse2014-07-031-0/+5
| | | | | | prevent automatic encoding conversion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/response.rb (Net::HTTP.each_response_header):naruse2014-07-031-1/+6
| | | | | | | raise first exception even if inflate_body_io.finish raises error. when begin block raises error, finish usually raises error too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/responses.rb: added Net::HTTPPermanentRedirect(308)hsbt2014-06-121-1/+3
| | | | | | Contributed by @yorkie [fix GH-638] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/responses.rb:naruse2013-12-081-1/+4
| | | | | | | | | Add `HTTPIMUsed`, as it is also supported by rack/rails. RFC - http://tools.ietf.org/html/rfc3229 by Vipul A M <vipulnsward@gmail.com> https://github.com/ruby/ruby/pull/447 fix GH-447 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/header.rb: [DOC] Net::HTTP#to_hash returns pair of key ↵hsbt2013-12-071-4/+4
| | | | | | and array values. Thanks @bjhaid [fix GH-467] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* range.c: revert r42400nobu2013-08-081-1/+2
| | | | | | | * range.c (range_last): revert r42400. [Bug #8739] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* net/http/header.rb: remove a hacknobu2013-08-061-1/+0
| | | | | | | * lib/net/http/header.rb (Net::HTTPHeader#set_range): remove a hack for the bug fixed at [Bug #8739]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* cleanup by @vipulnsward [GH fixes #262]hsbt2013-03-221-1/+1
| | | | | | | | lib/net/http/generic_request.rb: Removes unnecessary assignment lib/net/ftp.rb: Fixes dead code git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http: Do not handle Content-Encoding when the user setsdrbrain2013-02-142-0/+25
| | | | | | | | | | | | | Accept-Encoding. This allows users to handle Content-Encoding for themselves. This restores backwards-compatibility with Ruby 1.x. * lib/net/http/generic_request.rb: ditto. * lib/net/http/response.rb: ditto * test/net/http/test_http.rb: Test for the above. * test/net/http/test_http_request.rb: ditto. * test/net/http/test_httpresponse.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/generic_request.rb (encode_multipart_form_data): removeakr2013-01-291-0/+1
| | | | | | | tempfile explicitly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/generic_request.rb:naruse2013-01-051-1/+8
| | | | | | | | Amazon ECA API and GTE/1.3 disallow requests whose host has port number if its port number equlas to default port number of the scheme. [Bug #7650] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http/generic_request.rb (Net::HTTPGenericRequest):naruse2012-12-231-0/+3
| | | | | | | | set content-length to zero on empty post requests by Gregory Ostermayr <gregory.ostermayr@gmail.com> https://github.com/ruby/ruby/pull/201 fix GH-201 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http.rb: Requests may be created with a URI which sets thedrbrain2012-12-212-1/+43
| | | | | | | | | | | | | | Host header. Responses contain the requested URI for easier redirect following. [ruby-trunk - Feature #6482] * lib/net/http/generic_request.rb: ditto. * lib/net/http/response.rb: ditto.j * NEWS (net/http): Updated for above. * test/net/http/test_http.rb: Tests for above. * test/net/http/test_http.rb: ditto. * test/net/http/test_httpresponse.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e