# File src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb, line 175
      def read(*args)
        if @simulate_eof
          length, buffer = args
          if buffer
            buffer.replace(binary_string(""))
          else
            buffer = binary_string("")
          end
          if length
            return nil
          else
            return buffer
          end
        end
        @socket.read(*args)
      rescue => e
        raise annotate(e)
      end