For JavaScript functions, streaming is not supported and the Functions runtime provides the request body instead of the request object. There is no special handling for C# functions, so you could try using a C# function instead.
Here is a C# function which decompresses gzip request body for your reference.
using System.Net;
using System.IO.Compression;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
var inputStream = await req.Content.ReadAsStreamAsync();
string decompressedReqBody = string.Empty;
using (GZipStream decompressionStream = new GZipStream(inputStream, CompressionMode.Decompress))
{
using (StreamReader sr = new StreamReader(decompressionStream))
{
decompressedReqBody = sr.ReadToEnd();
log.Info(decompressedReqBody);
}
}
return req.CreateResponse(HttpStatusCode.OK, decompressedReqBody);
}