Commit graph

134 commits

Author SHA1 Message Date
nobu
c31de52fa5 test_http.rb: fix r58855
* test/net/http/test_http.rb (test_s_start): git rid of error when
  failed to start a connection.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-24 13:30:54 +00:00
nobu
0a2546842f fix FD leaks
* test/net/http/test_http.rb (test_s_start): finish connections to
  get rid of FD leaks.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-23 12:38:01 +00:00
normal
cbedbaf9d9 lib/net/protocol.rb: account read_bytes before caller sees it
Users may modify the chunk yielded to them in Net::HTTPResponse#read_body.
This will allow users to reduce memory usage by calling
String#clear on the buffer once they're done using it.

* lib/net/protocol.rb (read): increment read_bytes earlier
  (read_all): ditto
* test/net/http/test_httpresponse.rb (test_read_body_block_mod): new test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-22 07:36:00 +00:00
naruse
a1b924f0f1 Clean proxy
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-20 15:58:16 +00:00
naruse
67723c1e46 Net::HTTP#start now pass :ENV to p_addr by default [Bug #13351]
To avoid this, pass nil explicitly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-19 15:13:42 +00:00
naruse
c7ec1b1f59 Allow Net::HTTP to fetch user/pass from http_proxy
Note that this feature is enabled only on environment variables are
multi-user safe. In this time the list includes Linux, FreeBSD, or
Darwin. [Bug #12921]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-23 16:19:23 +00:00
rhe
df769d9dc9 net/http: don't use OpenSSL::TestUtils from test code
Make test code independent of test/openssl/utils.rb. The development of
openssl library has moved to a separate repository and
OpenSSL::TestUtils may be modified at any time.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-29 15:48:45 +00:00
a_matsuda
39edad0380 Fix undefined method 'dump' for nil:NilClass (NoMethodError)
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
2016-11-08 20:25:44 +00:00
shugo
88243c5303 * lib/net/http.rb (Net::HTTP.post): new convenience method to send a POST request.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 14:39:06 +00:00
naruse
8ec6fcb2f6 * lib/net/http.rb (transport_request): other than HTTPContinue
in 1xx (HTTPInformation) also needs to continue. [Bug #12890]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 14:08:16 +00:00
shugo
c74aaed016 Add an assertion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-06 00:16:17 +00:00
shugo
554c879f1f * lib/net/http/generic_rquest.rb (write_header): A Request-Line must
not contain CR or LF.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-06 00:01:20 +00:00
ktsj
6da2214119 * lib/net/http/header.rb (Net::HTTPHeader#{each_header,each_name,
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
2016-05-04 09:46:46 +00:00
ktsj
803177b38e * test/net/http/test_httpheader.rb: add missing test of
Net::HTTPHeader#each_capitalized_name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-04 09:46:43 +00:00
nobu
311b715483 test: use assert_not_*
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-19 07:45:58 +00:00
hsbt
809d3770e6 * lib/net/http/header.rb: Warn nil variable on HTTP Header.
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
2016-01-29 01:46:02 +00:00
nobu
8d66627161 leakchecker.rb: remove temporary measure
* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#watcher):
  make watcher thread restartable.

* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#terminate):
  new method to terminate watcher thread.

* test/lib/leakchecker.rb (LeakChecker#find_threads): revert
  r46941.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-05 06:09:17 +00:00
nobu
22d8481f08 fix common misspelling [ci skip]
* compile.c, cont.c, doc, man: fix common misspelling.
  [ruby-core:72466] [Bug #11870]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 23:23:46 +00:00
naruse
3e92b635fb Add frozen_string_literal: false for all files
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
2015-12-16 05:07:31 +00:00
naruse
f8a720477c fix r53013; the environment defines "example" as local hostname
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-09 21:54:21 +00:00
naruse
f3d087c77b add tests for El Capitan failure
20151209T174501Z.fail.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-09 19:41:47 +00:00
naruse
d249be6233 * lib/net/http.rb (connect): detect closed connection and reconnect
If the server closes a keep-alive http connection, the client socket
  reaches EOF. To avoid an EOFError, detect the closed connection and
  reconnect.
  Added test to ensure HTTP#post succeeds even if the
  keep-alive-connection has been closed by the server.
  by Kristian Hanekamp <kris.hanekamp@gmail.com>
  https://github.com/ruby/ruby/pull/1089 fix GH-1089

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-27 14:07:35 +00:00
hsbt
f0002bd5a2 * lib/net/http.rb: Fixed regression for Net::HTTP::PUT with "Expect-100"
header.
* test/net/http/test_http.rb: added test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 05:57:10 +00:00
ktsj
9cf11b70ca * lib/net/http/response.rb (Net::HTTPResponse::Inflater#finish):
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
2015-08-01 08:23:32 +00:00
kazu
9c4ef4b191 fix a failure without zlib
* test/net/http/test_httpresponse.rb
(HTTPResponseTest#test_read_body_content_encoding_deflate_uppercase):
fix failure without zlib.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-01 14:52:05 +00:00
naruse
84de36c748 * lib/net/http/response.rb (inflater): CONTENT_ENCODING can be upper
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
2015-06-29 07:14:31 +00:00
nobu
ae042f21fb use assert_raise
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-02 02:18:44 +00:00
hsbt
1a98f56ae1 * lib/net/http/header.rb: pass header names as symbols.
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
2015-02-08 11:09:44 +00:00
nobu
b4089826fb test_http.rb: test without DNS access
* test/net/http/test_http.rb: get rid of accessing DNS actually
  for some servers returning wrong results.
  [ruby-core:67454] [Bug #10721]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-13 05:16:37 +00:00
hsbt
a84bfcbf00 * lib/net/http.rb: More descriptive error message when net/http fails
to connect to a server. Patch by @xaviershay [fix GH-700]
* test/net/http/test_http.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-03 01:38:59 +00:00
hsbt
57ee6eae5a * test/net/http/test_http.rb (_test_send_request__HEAD): Added
failing test for send_request with HEAD method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-02 12:04:53 +00:00
naruse
0f7e301fe1 * lib/net/http/response.rb (Net::HTTPResponse): require one or more
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
2014-12-23 18:10:19 +00:00
nobu
b392fd5c55 test_https.rb: skip old OpenSSL
* test/net/http/test_https.rb (TestNetHTTPS): also depends on
  test/openssl/utils.rb

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-13 07:08:18 +00:00
usa
bf4b7f3b8c * test/net/http/test_https.rb
(TestNetHTTPS#test_certificate_verify_failure): on Windows,
  Errno::ECONNRESET will be raised when the verify is failure at the
  client side, and it'll be eaten by WEBrick.

* test/open-uri/test_ssl.rb (TestOpenURISSL#test_validation_failure):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 17:51:43 +00:00
naruse
d3236ba3b4 add test for r48563
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-26 08:22:27 +00:00
akr
fb2008a73a * test/lib/envutil.rb: Moved from test/ruby/.
* test/lib/find_executable.rb: Ditto.

* test/lib/memory_status.rb: Ditto.

* test/lib/test/unit.rb: require envutil.

* test/: Don't require envutil in test files.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-13 16:05:37 +00:00
akr
7bb546a2a1 * test/net/http/test_https_proxy.rb: Use assert_join_threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-11 13:08:01 +00:00
akr
070c310e87 * test/webrick: Store log in an array.
* test/net/http: Ditto.

* test/open-uri: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-09 11:51:06 +00:00
akr
0babd24827 * test/net/http: Examine webrick log.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-09 02:49:13 +00:00
akr
179fde39ef * test/net/http/utils.rb: Don't connect to spawned server
before actual test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-08 17:06:10 +00:00
naruse
70a2eb6399 * lib/net/http/generic_request.rb (Net::HTTP::GenericRequest#exec):
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
2014-08-05 19:10:23 +00:00
naruse
25d3fc8823 suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-05 19:08:26 +00:00
akr
e555e28eab Join threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-31 14:28:19 +00:00
akr
4565cd66ed Close FDs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-30 15:03:34 +00:00
akr
6f226d9d42 * lib/webrick/server.rb: Use a pipe to detect server shutdown.
shutdown() or close() for listening socket is not a reliable.
  Actually, both doesn't work (doesn't wake up select()) on
  DragonFly BSD 3.6.2.

* test/webrick/utils.rb: :ShutdownSocketWithoutClose is not required
  now to immediate server shutdown detection.
  This fixes fd leaks.

* test/net/http/utils.rb: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-30 12:32:48 +00:00
nobu
3041f72833 test_http.rb: fix leaked threads
* test/net/http/test_http.rb (test_timeout_during_HTTP_session):
  join work threads not to leak threads.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-26 05:38:12 +00:00
akr
6895e77ffc * test/net/http/utils.rb (spawn_server): Specify zero for port to
avoid reusing an allocated port.

* test/net/http/test_http.rb: Don't specify port here.

* test/net/http/test_https.rb: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 12:29:46 +00:00
naruse
5df9f0d839 Increase open_timeout [Bug #8986]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 06:36:27 +00:00
akr
28130c1c63 * test/net/http/test_http.rb (test_bind_to_local_port): Choose an open
port more reliably.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-01 12:19:15 +00:00
usa
26ac058958 * test/net/http/test_http.rb (TestNetHTTP_v1_2#test_get,
TestNetHTTP_v1_2_chunked#test_get): shoudn't check
  HttpResponse#decode_content if Zlib is not available.
  ko1 complained via IRC.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-10 02:38:17 +00:00