Sha256: bd12074f682eebaf0d5a0abfa86bbb3c7334693a63d4dc5e138fdfdf3143313a

Contents?: true

Size: 661 Bytes

Versions: 130

Compression:

Stored size: 661 Bytes

Contents

require 'net/protocol'

##
# Aaron Patterson's monkeypatch (accepted into 1.9.1) to fix Net::HTTP's speed
# problems.
#
# http://gist.github.com/251244

class Net::BufferedIO #:nodoc:
  alias :old_rbuf_fill :rbuf_fill

  def rbuf_fill
    if @io.respond_to? :read_nonblock then
      begin
        @rbuf << @io.read_nonblock(65536)
      rescue Errno::EWOULDBLOCK, Errno::EAGAIN => e
        retry if IO.select [@io], nil, nil, @read_timeout
        raise Timeout::Error, e.message
      end
    else # SSL sockets do not have read_nonblock
      timeout @read_timeout do
        @rbuf << @io.sysread(65536)
      end
    end
  end
end if RUBY_VERSION < '1.9'

Version data entries

130 entries across 130 versions & 10 rubygems

Version Path
rubygems-update-3.0.9 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-2.7.11 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-3.0.8 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-3.0.7 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-3.0.6 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-3.0.5 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-3.0.4 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-2.7.10 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
bundler-2.0.2 lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-2.7.9 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-3.0.3 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
bundler-2.0.1 lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
bundler-2.0.0 lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-3.0.2 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
bundler-2.0.0.pre.3 lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
bundler-1.17.3 lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-3.0.1 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
rubygems-update-3.0.0 bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
bundler-1.17.2 lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb
bundler-2.0.0.pre.2 lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb