Now that the transcoder deals with more than just gzip, maybe the struct and file should be renamed to something more generic related to compression
The SkipGzipped flag prevents decompressing gzip if we're not minifying the content. That should be revised with the addition of brotli, because it may be worthwhile to decompress gzip and compress it with brotli if the client supports it. Actually, there are a lot of interesting combinations here that may be worth measuring, such as decompressing gzip/brotli of an unknown compression level, and recompressing at a higher level, or decompressing, minifying and then recompressing something. Not sure if either scenario results in significant savings but still possibly interesting to look at.
I renamed Gzip to Zip to capture the new functionality, although something like LosslessCompression is more accurate but wordy.
I now force Brotli compression if the client supports it. I agree other trade-offs exist although increasing gzip compression level has less benefit than increasing Brotli compression level:
Brotli offers 20% better compression than gzip.