libutil: allow decompression with none/empty method
The S3 store relies on the ability to be able to decompress things with an empty method, because it just passes the value of the Content-Encoding directly to decompress. If the file is not compressed, then this will cause the compression routine to get confused. This caused NixOS/nixpkgs#120120.
This commit is contained in:
@@ -186,7 +186,9 @@ struct BrotliDecompressionSink : ChunkedCompressionSink
|
||||
|
||||
ref<std::string> decompress(const std::string & method, const std::string & in)
|
||||
{
|
||||
if (method == "br") {
|
||||
if (method == "none" || method == "")
|
||||
return make_ref<std::string>(in);
|
||||
else if (method == "br") {
|
||||
StringSink ssink;
|
||||
auto sink = makeDecompressionSink(method, ssink);
|
||||
(*sink)(in);
|
||||
|
||||
Reference in New Issue
Block a user