Class: Puma::MiniSSL::Socket
- Inherits:
-
Object
- Object
- Puma::MiniSSL::Socket
- Defined in:
- lib/capybara/registrations/patches/puma_ssl.rb
Instance Method Summary collapse
Instance Method Details
#read_nonblock(size, *_) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/capybara/registrations/patches/puma_ssl.rb', line 6 def read_nonblock(size, *_) loop do output = engine_read_all return output if output data = @socket.read_nonblock(size, exception: false) raise IO::EAGAINWaitReadable if %i[wait_readable wait_writable].include? data return nil if data.nil? @engine.inject(data) output = engine_read_all return output if output while (neg_data = @engine.extract) @socket.write neg_data end end end |