class Nokogiri::HTML::Document::EncodingReader
def read(len)
def read(len) # no support for a call without len if !@firstchunk @firstchunk = @io.read(len) or return nil # This implementation expects and assumes that the first # call from htmlReadIO() is made with a length long enough # (~1KB) to achieve further encoding detection that # libxml2 does not do. if encoding = EncodingReader.detect_encoding(@firstchunk) raise EncodingFoundException, encoding end # This chunk is stored for the next read in retry. return @firstchunk end ret = @firstchunk.slice!(0, len) if (len -= ret.length) > 0 rest = @io.read(len) and ret << rest end if ret.empty? nil else ret end end