Sha256: 7fd5ad19aeb286a73cea2fb457b6bbba9e6800d643647fa986af20c143f40877

Contents?: true

Size: 646 Bytes

Versions: 55

Compression:

Stored size: 646 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 => 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

55 entries across 55 versions & 6 rubygems

Version Path
persistent_http-1.0.6 lib/persistent_http/faster.rb
persistent_http-1.0.5 lib/persistent_http/faster.rb
persistent_http-1.0.4 lib/persistent_http/faster.rb
bundler-1.1.0 lib/bundler/vendor/net/http/faster.rb
bundler-1.1.rc.8 lib/bundler/vendor/net/http/faster.rb
persistent_http-1.0.3 lib/persistent_http/faster.rb
net-http-persistent-2.4.1 lib/net/http/faster.rb
persistent_http-1.0.2 lib/persistent_http/faster.rb
net-http-persistent-2.4 lib/net/http/faster.rb
domo-0.0.5 vendor/bundle/ruby/1.9.1/gems/net-http-persistent-2.3.3/lib/net/http/faster.rb
bundler-1.1.rc.7 lib/bundler/vendor/net/http/faster.rb
bundler-1.1.rc.6 lib/bundler/vendor/net/http/faster.rb
net-http-persistent-2.3.3 lib/net/http/faster.rb
bundler-1.1.rc.5 lib/bundler/vendor/net/http/faster.rb
bundler-1.1.rc.3 lib/bundler/vendor/net/http/faster.rb
bundler-1.1.rc.2 lib/bundler/vendor/net/http/faster.rb
net-http-persistent-2.3.2 lib/net/http/faster.rb
net-http-persistent-2.3.1 lib/net/http/faster.rb
net-http-persistent-2.3 lib/net/http/faster.rb
net-http-persistent-2.2 lib/net/http/faster.rb