Remove makeDecompressionSource()

This function doesn't support all compression methods (i.e. 'none' and
'br') so it shouldn't be exposed.

Also restore the original decompress() as a wrapper around
makeDecompressionSink().
This commit is contained in:
Eelco Dolstra 2021-04-22 10:23:20 +02:00
parent a6eebcff36
commit 5385755227
2 changed files with 6 additions and 21 deletions

View file

@ -186,19 +186,11 @@ struct BrotliDecompressionSink : ChunkedCompressionSink
ref<std::string> decompress(const std::string & method, const std::string & in)
{
if (method == "none" || method == "")
return make_ref<std::string>(in);
else if (method == "br") {
StringSink ssink;
auto sink = makeDecompressionSink(method, ssink);
(*sink)(in);
sink->finish();
return ssink.s;
} else {
StringSource ssrc(in);
auto src = makeDecompressionSource(ssrc);
return make_ref<std::string>(src->drain());
}
StringSink ssink;
auto sink = makeDecompressionSink(method, ssink);
(*sink)(in);
sink->finish();
return ssink.s;
}
std::unique_ptr<FinishSink> makeDecompressionSink(const std::string & method, Sink & nextSink)
@ -209,7 +201,7 @@ std::unique_ptr<FinishSink> makeDecompressionSink(const std::string & method, Si
return std::make_unique<BrotliDecompressionSink>(nextSink);
else
return sourceToSink([&](Source & source) {
auto decompressionSource = makeDecompressionSource(source);
auto decompressionSource = std::make_unique<ArchiveDecompressionSource>(source);
decompressionSource->drainInto(nextSink);
});
}
@ -267,11 +259,6 @@ struct BrotliCompressionSink : ChunkedCompressionSink
}
};
std::unique_ptr<Source> makeDecompressionSource(Source & prev)
{
return std::unique_ptr<Source>(new ArchiveDecompressionSource(prev));
}
ref<CompressionSink> makeCompressionSink(const std::string & method, Sink & nextSink, const bool parallel)
{
std::vector<std::string> la_supports = {

View file

@ -15,8 +15,6 @@ struct CompressionSink : BufferedSink, FinishSink
using FinishSink::finish;
};
std::unique_ptr<Source> makeDecompressionSource(Source & prev);
ref<std::string> decompress(const std::string & method, const std::string & in);
std::unique_ptr<FinishSink> makeDecompressionSink(const std::string & method, Sink & nextSink);