#include "net/filter/filter_source_stream.h"
#include <string_view>
#include <utility>
#include "base/check_op.h"
#include "base/containers/fixed_flat_map.h"
#include "base/functional/bind.h"
#include "base/metrics/histogram_macros.h"
#include "base/notreached.h"
#include "base/numerics/safe_conversions.h"
#include "base/strings/string_util.h"
#include "components/miracle_parameter/common/public/miracle_parameter.h"
#include "net/base/io_buffer.h"
#include "net/base/net_errors.h"
namespace net {
namespace {
constexpr char kDeflate[] = …;
constexpr char kGZip[] = …;
constexpr char kXGZip[] = …;
constexpr char kBrotli[] = …;
constexpr char kZstd[] = …;
BASE_FEATURE(…);
MIRACLE_PARAMETER_FOR_INT(GetBufferSizeForFilterSourceStream,
kBufferSizeForFilterSourceStreamFeature,
"BufferSizeForFilterSourceStream",
32 * 1024)
}
FilterSourceStream::FilterSourceStream(SourceType type,
std::unique_ptr<SourceStream> upstream)
: … { … }
FilterSourceStream::~FilterSourceStream() = default;
int FilterSourceStream::Read(IOBuffer* read_buffer,
int read_buffer_size,
CompletionOnceCallback callback) { … }
std::string FilterSourceStream::Description() const { … }
bool FilterSourceStream::MayHaveMoreBytes() const { … }
FilterSourceStream::SourceType FilterSourceStream::ParseEncodingType(
const std::string& encoding) { … }
int FilterSourceStream::DoLoop(int result) { … }
int FilterSourceStream::DoReadData() { … }
int FilterSourceStream::DoReadDataComplete(int result) { … }
int FilterSourceStream::DoFilterData() { … }
void FilterSourceStream::OnIOComplete(int result) { … }
bool FilterSourceStream::NeedMoreData() const { … }
}