Граф коммитов

107 Коммитов

Автор SHA1 Сообщение Дата
naruse 3ba0abdb15 * lib/net/http/header.rb (Net::HTTPHeader#range): fix broken parser of
HTTP Range request. Old one can't parse invalid specs and multiple
  specs correctly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-23 13:09:26 +00:00
ayumin 3893159530 * test/net/http/test_https.rb: update test for r35494
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-30 03:51:03 +00:00
drbrain ea9b6997cc * lib/net/protocol.rb (module Net): Added ReadTimeout to match
OpenTimeout.  ReadTimeout is now raised by rbuf_fill instead of
  Timeout::Error to help users distinguish what type of timeout
  occurred.  [ruby-trunk - Feature #6088]
* lib/net/pop.rb (module Net):  Updated documentation for ReadTimeout
  and OpenTimeout.
* lib/net/http.rb (module Net):  ditto
* lib/net/smtp.rb (module Net):  ditto
* lib/net/telnet.rb (module Net):  Net::ReadTimeout is now raised in
  waitfor to match Net::Protocol.
* test/net/http/test_http.rb:  Updated Timeout::Error expectation to
  Net::ReadTimeout.
* test/net/ftp/test_ftp.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-11 21:20:51 +00:00
drbrain 09f27873ed * lib/net/protocol.rb: Add OpenTimeout subclass of Timeout::Error
* lib/net/pop.rb:  Modernize Timeout usage.  Patch by Eric Wong.
	  Use Net::OpenTimeout instead of Timeout::Error.  [Bug #5765]
	* lib/net/http.rb:  ditto
	* lib/net/smtp.rb:  ditto
	* lib/net/telnet.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 05:15:54 +00:00
drbrain 8a7da58c0f * lib/net/http.rb: Retry HTTP requests for additional network errors.
Introduce OpenTimeout subclass of Timeout::Error.  [Bug #6001]
	* test/net/http/test_http.rb:  Reduce timeout to 0.01s for faster test
	* test/net/http/test_https.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 04:51:37 +00:00
naruse aced01eeb4 Fix r34779. Raised error on connection reset varies on environments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-25 07:41:07 +00:00
drbrain 7a1180c745 * lib/net/http.rb (Net::HTTP#transport_request): Fix infinite loop
upon EOFError or Errno::ECONNRESET where count is reset to 0.
* test/net/http/test_http.rb (class TestNetHTTPKeepAlive):  Test for
  above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 01:10:07 +00:00
kazu ca0bb51887 * test/net/http/test_https_proxy.rb
(HTTPSProxyTest#test_https_proxy_authentication):
  add workaround to avoid to hang up without openssl.
  see #5786

* test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address):
  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 15:55:07 +00:00
usa a267b9512a * test/net/http/test_http.rb (TestNetHTTPKeepAlive#*): remove debug
output.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 07:22:17 +00:00
naruse bee7ccddd2 * lib/net/http.rb (Net::HTTP#transport_request): retry a idempotent
request automatically. [ruby-dev:45030] [Bug #5790]
  [ruby-core:41821] [Bug #5813]

* lib/net/http.rb (Net::HTTP#keep_alive_timeout=): added to specify
  the second to reconnect the TCP connection on Keep-Alive.
  The default value is 2 second because current servers uses 2 sec.
  http://ftp-admin.blogspot.com/2009/09/keepalivetimeout2.html

* lib/net/http.rb (Net::HTTP#begin_transport): reconnect TCP
  connection on keep-alive timeout.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-20 05:56:35 +00:00
naruse afbcfdf961 Suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-22 09:48:50 +00:00
akr b0fe688676 * test/net/http/test_http.rb: remove temporally files in ensure clause.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-19 07:37:22 +00:00
akr 805a01cb9a * test/net/http/test_http.rb: remove temporally files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-18 23:19:26 +00:00
shyouhei fa25f26095 * test/net/http/test_http.rb (TestNetHTTP_version_1_1_methods#test_timeout_during_HTTP_session):
If you connect to localhost, you should listen localhost.

* test/net/http/test_https.rb (TestNetHTTPS#test_timeout_during_SSL_handshake):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-01 22:35:05 +00:00
nahi 800c313bde * lib/net/http.rb (Net::HTTP.post_form): Do not ignore query part of
the given URI to post. See #655.

* test/net/http/test_http.rb, test/net/http/utils.rb: Test it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-21 17:44:44 +00:00
nahi b219a56c07 * lib/net/http.rb, lib/net/protocol.rb: Allow to configure to wait
server returning '100 continue' response befor sending HTTP request
  body. See NEWS for more detail. See #3622.
  Original patch is made by Eric Hodel <drbrain@segment7.net>.

* test/net/http/test_http.rb: test it.

* NEWS: Add new feature.

On my env (Ubuntu 11.04 64bit),
9510 tests, 2203824 assertions, 0 failures, 0 errors, 29 skips
->
9514 tests, 2203836 assertions, 0 failures, 0 errors, 29 skips


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-31 08:10:42 +00:00
kosaki e15b3c83b8 * test/net/http/utils.rb (TestNetHTTPUtils#teardown): add nil check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-28 17:17:36 +00:00
naruse 84b96e1be4 Fix tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-19 12:43:27 +00:00
yugui ef0736604a * lib/net/http.rb (Net::HTTP#connect): makes it timeout during
SSL handshake too. [ruby-core:34203]
  Patch by Marc Slemko.

* test/net/http/test_http.rb (TestNetHTTP_v1_2#test_timeout_during_HTTP_session):
  test for [ruby-core:34203]

* test/net/http/test_https.rb (TestNetHTTPS#test_timeout_during_SSL_handshake):
  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-12 07:26:18 +00:00
tenderlove b092e967b0 use require_relative instead of File.expand_path
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-06 00:39:50 +00:00
tenderlove 9bc8ccf4d4 * lib/net/protocol.rb (eof?): BufferedIO should proxy eof? to the
underlying IO object.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-06 00:24:45 +00:00
knu 0d375e732d * lib/net/http.rb (Net::HTTP#get): A header hash given should not
be modified.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-05 04:58:57 +00:00
naruse cba0d62d91 * lib/net/http.rb (Net::HTTPRequest#send_request_body_data):
set binmode to tempfile.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-14 04:05:03 +00:00
naruse 1c9f703a47 * lib/net/http.rb (Net::HTTPRequest#set_form): Added to support
both application/x-www-form-urlencoded and multipart/form-data.
  There is a similar API, Net::HTTPRequest#set_form_data, but
  to keep its compatibility this is newly added. [ruby-dev:42729]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-13 01:04:37 +00:00
naruse c37ca96692 * lib/net/http.rb: remove version 1.1 features.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-10 01:08:45 +00:00
shyouhei 93fba33b47 * test/net/http/test_https.rb: As always, localhost is not
guaranteed to be resolved as 127.0.0.1.  But a SSL
          certificate needs a socket to listen on a specific address
          where a CN resolves to.  On situations where localhost is
          not 127.0.0.1, these tests are not possible.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-27 06:57:39 +00:00
nahi e54c30c05e * test/net/http/test_https.rb (test_identity_verify_failure): follows
the SSL hostname check error message of openssl.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-09 08:17:51 +00:00
naruse ab70e53ac3 * lib/net/http.rb: adding support to rfc5789 patch verb.
Added a Net::HTTP::Patch class which expects a message body
  and response body. It recycles the post method into a patch one,
  that will send the encoded representation to the server.
  Summarizing, a new class has been created, the post method
  extracted into send_entity, including a new argument,
  which defines which class to use (Post or Patch) and
  finally a patch method was created. [ruby-core:30426]
  Patched by Guilherme Silveira
  <guilherme.silveira AT caelum.com.br>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-01 12:30:52 +00:00
mame 57c1406697 * lib/net/http.rb (Net::HTTPResponse#read_chunked): ensure to skip the
last newline of chunk.  [ruby-core:29229]

* test/net/http/utils.rb: add an option for chunked response test.

* test/net/http/test_http.rb: add tests for chunked response.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-03 23:42:26 +00:00
nahi d1cb4a5ba7 * lib/net/http.rb (Net::HTTPResponse#each_response_header):
accept multiline message header of HTTP response.  see #1796.
          cf. RFC 2616 '4.2 Message Header'.                          

        * test/net/http/test_httpresponse.rb: added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-30 13:09:03 +00:00
nobu 287a34ae0d * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 03:56:38 +00:00
nobu 00b4a3f9c4 * test: assert_raises has been deprecated since a long time ago.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 17:44:39 +00:00
mame 7edda76f15 * test/net/http/test_http.rb (_test_request__file): specify encoding
explicitly.

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-29 18:02:24 +00:00
mame 8d4f4e25e5 * test/net/http/test_http.rb: compare encodings of two strings before
comparing themself, which suppress too big error output.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-19 14:49:39 +00:00
gotoyuzo e963ff1e98 * test/net/http/test_https.rb: should rescue LoadError.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-23 19:05:39 +00:00
gotoyuzo 40aa32a0d7 * ext/openssl/lib/net/ssl.rb (OpenSSL::SSL::SSLContext.build): removed.
* ext/openssl/lib/net/ssl.rb (OpenSSL::SSL::SSLContext#set_params):
  new method to set suitable SSL parameters.

* lib/net/pop.rb, lib/net/http.rb, lib/net/imap.rb, 
  test/openssl/test_ssl.rb: follow above change.

* test/net/http/test_https.rb: refine error case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 08:31:53 +00:00
gotoyuzo c6920177f3 * lib/net/http.rb (Net::HTTP#connect): use
OpenSSL::SSL::SSLContext.build instead of SSLContext.new (default
  verify mode is now OpenSSL::SSL::VERIFY_PEER).

* lib/net/https.rb: SSL parameters are defined by attr_accessor.

* test/net/http/test_https.rb: add test for HTTPS features.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-20 16:21:22 +00:00
gotoyuzo f2266fe471 * test/net/http/utils.rb: split TestNetHTTPUtils module from
test/net/http/test_http.rb. and start HTTP server in each test case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-18 14:46:52 +00:00
akr 0884b1d8b1 catch EOFError in a thread.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-15 11:12:20 +00:00
akr 49f00d5d2d close socket.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-15 11:04:30 +00:00
matz 67172a2401 * test/net/http/test_https_proxy.rb
(HTTPSProxyTest::test_https_proxy_authentication): initialize
  local variable 't' first.  [ruby-dev:32253]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-14 07:17:18 +00:00
aamine 22d6ff16d3 * lib/net/http.rb (tokens): forgot to add strip. [ruby-core:11120]
* test/net/http/test_http.rb: test Net::HTTP.post_form.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-12 09:25:56 +00:00
aamine 429c03eb2a merge test cases with Ruby 1.8
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-26 13:23:40 +00:00
aamine e1173b2c78 * lib/net/http.rb (Net::HTTP#post, request_post, request): should set Content-Type: x-www-form-urlencoded by default.
* lib/net/http.rb (Net::HTTPHeader#content_type): should return nil when there's no Content-Type.
* lib/net/http.rb (Net::HTTPHeader#sub_type): should return nil when there's no sub Content-Type (e.g. "Content-Type: text").
* lib/net/http.rb (Net::HTTPHeader#type_params): wrongly failed when there's no Content-Type.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-26 13:00:26 +00:00
nobu ec12edb11c * lib/scanf.rb (Scanf::FormatSpecifier#letter, #width): use matched
substring directly.

* ext/nkf/lib/kconv.rb (Kconv.conv): get rid of nil.to_a.

* test/ruby/test_assignment.rb, test/ruby/test_iterator.rb: followed
  change of sample/test.rb.

* test/net/http/test_http.rb: removed superfluous splatting stars.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-08 10:45:52 +00:00
aamine 8e1d3e5498 * test/net/http/test_http.rb (teardown): ensure that Net::HTTP is version 1.2. [ruby-dev:27312]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-24 11:25:29 +00:00
aamine 74b34477e2 * test/net/http/test_http.rb: new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-24 02:45:02 +00:00
akr 261f8e0f73 skip test if openssl is not available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-07 02:49:16 +00:00
akr 8a85b8bef1 fix another IPv6 issue.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-03 20:40:39 +00:00
akr a1782f4e6a avoid IPv6 issue.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-03 18:03:52 +00:00
akr 0ad0462183 add ML number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-03 17:14:06 +00:00
akr ea0a08fddd set verify_mode to avoid a warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-03 16:49:56 +00:00
akr f7298a29ea add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-03 16:11:40 +00:00
aamine 9d0758b3b0 * lib/net/http.rb: new method Net::HTTP.post_form.
* lib/net/http.rb: new method Net::HTTPHeader#set_form_data and its alias #form_data=.
* lib/net/http.rb: Net::HTTPHeader#add_header -> add_field (adjustted to Ruby 1.8).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-20 13:55:26 +00:00
aamine 94402f983f * lib/net/http.rb (each_capitalized): should join header field value. This patch is contributed sheepman [ruby-list:40478]
* test/net/http/test_httpheader.rb: test it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-01 08:45:50 +00:00
aamine 39848fe845 * lib/net/http.rb: HTTPHeader keeps its header fields as an array.
* lib/net/http.rb: new method HTTPHeader#add_header, get_fields.
* lib/net/http.rb: new method HTTPHeader#content_length=.
* lib/net/http.rb: new method HTTPHeader#content_type, main_type, sub_type, type_params, content_type=, set_content_type.
* lib/net/http.rb (HTTPHeader#basic_encode): result of pack(m) may contain multiple LFs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-06 20:35:19 +00:00
aamine b33d3cfb41 * test/net/test_httpheader.rb: new file.
* MANIFEST: add test/net/test_httpheader.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-07 11:52:14 +00:00