Method: Excon::Socket#readline

Defined in:
lib/excon/socket.rb

#readlineObject



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/excon/socket.rb', line 89

def readline
  if @eof
    raise EOFError, 'end of file reached'
  else
    line = ''
    if @nonblock
      while char = read(1)
        line << char
        break if char == $/
      end
      raise EOFError, 'end of file reached' if line.empty?
    else
      begin
        Timeout.timeout(@data[:read_timeout]) do
          line = @socket.readline
        end
      rescue Timeout::Error
        raise Excon::Errors::Timeout.new('read timeout reached')
      end
    end
    line
  end
end