Streaming modified lines of a file from a Controller
A small improvement you can do to avoid the pretty deep nesting is, stacking all usings without extra brackets.

public static AsyncEnumerable&lt;string&gt; ReadLinesAsyncViaHttpClient(this string uri)
{
    return new AsyncEnumerable&lt;string&gt;(async yield =&gt;
    { 
        using (var httpClient = new HttpClient())
        using (var responseStream = await httpClient.GetStreamAsync(uri))
        using (var streamReader = new StreamReader(responseStream))
        {
            while(true)
            {
                 var line = await streamReader.ReadLineAsync();
                 if (line != null)
                 {
                     await yield.ReturnAsync(line); 
                 }
                 else
                 {
                     return;
                 } 
             }
        }
    });
}


Apart from that I don't know if this the kind of thing that should be a extension method. This should rather be a class.

(I'm currently do not have my hands on a pc, so I cannot comment on the technical side of things >:( )