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

222 Коммитов

Автор SHA1 Сообщение Дата
drbrain ead728ca7d * lib/net/http.rb: Added SSL session reuse across connections for a
single instance to speed up connection.  [Feature #5341]
* NEWS:  ditto
* test/net/http/test_https.rb:  Tests for #5341


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 00:05:59 +00:00
naruse e2f75afbfb Set false to @proxy_from_env to suppress uninitialized warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-21 15:51:14 +00:00
naruse 07a6d0e9d1 * lib/net/http.rb (Net::HTTP.newobj): return back for compatibility.
* lib/net/http.rb (Net::HTTP.new): set default_port if proxy port is
  not given.

* lib/net/http.rb (Net::HTTP#initialize): ditto.

* lib/net/http.rb (Net::HTTP#proxy?): return true or false.

* lib/net/http.rb (Net::HTTP#proxy_address): check proxy_uri is not nil.

* lib/net/http.rb (Net::HTTP#proxy_port): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-21 15:45:10 +00:00
drbrain 9416becda4 * lib/net/http.rb: Net::HTTP now automatically detects and uses
proxies from the environment.  A proxy may also be specified as
  before.

  Net::HTTP::Proxy still creates anonymous classes, but these classes
  are only used to store configuration information.  When an HTTP
  instance is created the configuration is now copied.

  Additionally, Net::HTTP::ProxyDelta is no longer used by Net::HTTP

  [Feature #6546]
* lib/open-uri.rb:  Moved URI::Generic#find_proxy to uri/generic.
* lib/uri/generic.rb:  Imported find_proxy from open-uri.
* test/open-uri/test_open-uri.rb:  Moved proxy-discovery tests to URI.
* test/uri/test_generic.rb:  Imported proxy-discovery tests from
  open-uri.
* test/net/http/test_http.rb:  Added tests for proxy behavior.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-20 01:56:21 +00:00
drbrain b1a0509b54 * lib/net/http/response.rb: Automatically inflate gzip and
deflate-encoded response bodies.  [Feature #6942]
* lib/net/http/generic_request.rb:  Automatically accept gzip and
  deflate content-encoding for requests.  [Feature #6494]
* lib/net/http/request.rb:  Updated documentation for #6494.
* lib/net/http.rb:  Updated documentation for #6492 and #6494, removed
  Content-Encoding handling now present in Net::HTTPResponse.
* test/net/http/test_httpresponse.rb:  Tests for #6492
* test/net/http/test_http_request.rb:  Tests for #6494
* test/open-uri/test_open-uri.rb (test_content_encoding):  Updated test
  for automatic content-encoding handling.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-19 22:43:38 +00:00
naruse 4689853711 * lib/net/http.rb (Net::HTTP#connect): use local_host and local_port
if specified. patched by Ricardo Amorim [Feature #6617]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-11 18:37:18 +00:00
knu 3703619ed9 * lib/net/http/responses.rb, lib/webrick/httpstatus.rb: Add HTTP
response codes added in RFCs 2817 and 4918.  [ruby-core:45547]
  [Feature #6569]

* lib/net/http/responses.rb: Rename Net::HTTPMultipleChoice to
  Net::HTTPMultipleChoices, leaving the former as alias to the
  latter for backward compatibitily.  [ruby-core:45547]
  [Feature #6569]

* lib/net/http/responses.rb: Add comments about unused,
  still-in-draft and private extension response codes.
  [ruby-core:45547] [Feature #6569]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 15:20:27 +00:00
drbrain 0d7a94e31d * lib/net/http/responses.rb: Add RFC 6586 response codes. Patch by
Sangil Jung.  [ruby-trunk - Feature #6480]
* lib/net/http/response.rb:  ditto
* lib/net/http.rb:  ditto
* lib/webrick/httpstatus.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-08 22:40:14 +00:00
drbrain 510bbe015d * lib/net/http.rb: Broke up Net::HTTP into individual files.
[ruby-trunk - Feature #6435]
* lib/net/http/backward.rb:  ditto.
* lib/net/http/response.rb:  ditto.
* lib/net/http/exceptions.rb:  ditto.
* lib/net/http/responses.rb:  ditto.
* lib/net/http/generic_request.rb:  ditto.
* lib/net/http/header.rb:  ditto.
* lib/net/http/request.rb:  ditto.
* lib/net/http/proxy_delta.rb:  ditto.
* lib/net/http/requests.rb:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-22 20:36:21 +00:00
nobu cf6116150c autoload in module scope.
* lib/net/http.rb (Net::OpenSSL): get rid of autoload in global scope
  not to make tests confused.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-23 13:48:36 +00:00
nobu 7255d93b08 deal with timeout exceptions
* lib/net/http.rb (Net::HTTP#transport_request): deal with
  Net::OpenTimeout and Net::ReadTimeout first to get rid of loading
  OpenSSL as possible.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-23 13:48:31 +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
naruse b386b25aac * lib/net/http.rb (Net::HTTP#send_request_with_body_stream):
use IO.copy_stream for requests using body_stream.
  patched by Eric Wong. [ruby-core:40898] [Feature #5605]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-10 09:23:11 +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
ayumin e0f4a550e5 * lib/net/http.rb: Fix documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 03:10:25 +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
shyouhei 5de2c3c2d3 Writing entire packet at once to avoid incomplete transmission
Signed-off-by: URABE, Shyouhei <shyouhei@ruby-lang.org>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-23 12:25:19 +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 b361c5adec Fix typo in r33849.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-26 20:03:32 +00:00
naruse b6b8cc01a5 * lib/net/http.rb (Net::HTTP::SSL_IVNAMES): rerefix 33701.
SSL_ATTRIBUTES stores names for set_params, they are symbol.
  SSL_IVNAMES stores instance variable names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-26 19:59:11 +00:00
naruse 708d76a3b1 * lib/net/http.rb (Net::HTTP.get_response): enable use_ssl
if given URI object is https.
  patched by Mark Ferlatte [ruby-core:40665] [Bug #5545]

* lib/net/http.rb (Net::HTTP.post_form): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-26 11:44:45 +00:00
naruse 9d4db2d4d9 * lib/net/http.rb (Net::HTTP::SSL_ATTRIBUTES): refix 33701.
store instance variable symbol names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-26 11:06:53 +00:00
drbrain 661a936e64 * lib/net/http.rb (Net::HTTP::SSL_ATTRIBUTES): Use symbol keys instead
of string keys to avoid duplicating parameters in
  OpenSSL::SSL:SSLContext#set_params.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-10 23:35:35 +00:00
drbrain ca96541149 * ext/pathname/lib/pathname.rb: Fix typos and grammar mistakes. Patch
by Luke Gruber.  [#5203]
* ext/pty/lib/expect.rb:  ditto
* lib/mathn.rb:  ditto
* lib/net/http.rb:  ditto
* lib/open-uri.rb:  ditto
* lib/ostruct.rb:  ditto
* lib/tempfile.rb:  ditto
* lib/thread.rb:  ditto
* lib/weakref.rb:  ditto
* sample/webrick/httpproxy.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-26 22:22:37 +00:00
akr 184f041fb8 * lib/net/pop.rb: fix typo in document.
* lib/net/http.rb: ditto.

* lib/net/imap.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-10 12:28:19 +00:00
naruse a967390d04 * lib/net/http.rb: come back autoload. OpenSSL constant is used
some places, so it leads mistakes like HTTP.start.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-09 17:56:40 +00:00
drbrain a58c76cc20 * lib/net/http.rb: Net::HTTP#finish is used to manually close
connections.  [Ruby 1.9 - Bug #5045]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-22 04:58:10 +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
drbrain dbf9baeddf * lib/timeout.rb: Clarify timeout duration types. Patch by Alf Mikula.
[Ruby 1.9 - Bug #4791]
	* lib/net/http.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-16 05:24:12 +00:00
naruse 2ba3909c0a Additional fix for r31933.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-13 10:21:07 +00:00
naruse df36601017 * lib/net/http.rb (Net::HTTP#use_ssl?): require 'openssl' only when
https is needed. fixes r31933.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-13 08:03:22 +00:00
naruse 80651edad2 * lib/net/http.rb: don't use autoload.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-06 01:53:41 +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
drbrain 13ae409e1e * lib/net/http.rb: Improve documentation of proxy configuration
methods.  Patch by Alf Mikula.  [Ruby 1.9 - Bug #4714]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-16 22:15:32 +00:00
drbrain 3257aa8f8f * lib/net/http.rb: Fix nodoc for Net::HTTP::version_1_1?. Patch by
Alf Mikula.  [Ruby 1.9 - Bug #4713]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-16 22:00:48 +00:00
akr afe7aac47b * lib/net/http.rb (Net::HTTP#connect): support SNI (Server Name
Indication) for HTTPS.  [ruby-dev:43164]
  http://stackoverflow.com/questions/4685736/openssl-server-name-indication-support-in-ruby


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-07 13:37:43 +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
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 d10fab3139 Add doc to warn the userinfo for auth. [ruby-core:33255]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-10 01:21:13 +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
naruse f5bdc774fd * lib/net/http.rb (Net::HTTP#set_form_data):
use URI.encode_www_form for application/x-www-form-urlencoded.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-02 01:46:45 +00:00
drbrain ec8f4038c9 Fix positional wording in lib/net/http.rb to match revised order
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-01 17:31:20 +00:00
naruse 95bff6e828 Improve rdoc of net/http/http.rb.
* use URI(..)
* normalize Net::HTTP.start()
* use Net::HTTP.start(hostname, :use_ssl). Feature #2579

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-01 16:40:16 +00:00
naruse 594633fbea * lib/net/http.rb: improve rdoc.
This change the order of chapter because such overview should
  begin with simple examples.
  patched by Eric Hodel [ruby-core:33469]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-01 15:07:35 +00:00
naruse 4bded50f0d * lib/net/http.rb: improve rdoc.
patched by Eric Hodel ref #4100

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-30 08:06:19 +00:00
naruse 80c21e35cb * lib/net/http.rb: improve rdoc.
patched by mathew murphy [ruby-core:33472] ref #4100

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-30 02:56:14 +00:00
naruse baf7a09d35 * lib/net/http.rb: improve rdoc.
patched by Mike Perham [ruby-core:33433]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 19:22:53 +00:00