How to get remote data in newline terminating chunks?

I thought that this would end up in several some buffer-size chunks, but actually the 9GB file seems to be downloaded at once:

data_url = ""
chunk_counter = 1"GET", data_url) do io # Note the SSL support
    while !eof(io)
        global chunk_counter
        data = String(read(io))
        chunk_counter += 1

In this case it’s a binary data, but is there a way to stream a remote resource in chunks that are guaranteed to ends with a newline, so that I can process them with some online algorithm (i.e. train a ML model that supports multiple fitting ) ?