Module: Rex::Post::Channel::StreamAbstraction
- Includes:
- IO::StreamAbstraction
- Included in:
- Msf::Sessions::SshCommandShellBind::TcpClientChannel, Rex::Proto::Http::WebSocket::Interface::Channel
- Defined in:
- lib/rex/post/channel/stream_abstraction.rb
Instance Method Summary collapse
-
#read(length = nil) ⇒ Object
Read length bytes from the channel.
Instance Method Details
#read(length = nil) ⇒ Object
Read length bytes from the channel. If the operation times out, the data that was read will be returned or nil if no data was read.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/rex/post/channel/stream_abstraction.rb', line 15 def read(length = nil) if closed? raise IOError, 'Channel has been closed.', caller end buf = '' length = 65536 if length.nil? begin buf << lsock.recv(length - buf.length) while buf.length < length rescue StandardError buf = nil if buf.empty? end buf end |