19 #ifndef NET_INSTAWEB_HTTP_PUBLIC_INFLATING_FETCH_H_
20 #define NET_INSTAWEB_HTTP_PUBLIC_INFLATING_FETCH_H_
24 #include "pagespeed/kernel/base/basictypes.h"
25 #include "pagespeed/kernel/base/scoped_ptr.h"
26 #include "pagespeed/kernel/base/string_util.h"
27 #include "pagespeed/kernel/http/response_headers.h"
28 #include "pagespeed/kernel/util/gzip_inflater.h"
30 namespace net_instaweb {
61 ResponseHeaders* headers,
63 MessageHandler* handler);
68 HTTPValue* compressed_value, ResponseHeaders* headers,
69 MessageHandler* handler);
74 virtual bool HandleWrite(
const StringPiece& sp, MessageHandler* handler);
79 virtual void HandleDone(
bool success);
83 void InitInflater(GzipInflater::InflateType,
const StringPiece& value);
87 bool IsCompressionAllowedInRequest();
89 scoped_ptr<GzipInflater> inflater_;
92 bool request_checked_for_accept_encoding_;
95 bool compression_desired_;
99 bool inflate_failure_;
static bool UnGzipValueIfCompressed(const HTTPValue &src, ResponseHeaders *headers, HTTPValue *dest, MessageHandler *handler)
Definition: http_value.h:38
virtual bool HandleWrite(const StringPiece &sp, MessageHandler *handler)
virtual void HandleHeadersComplete()
Definition: async_fetch.h:267
Definition: async_fetch.h:53
void EnableGzipFromBackend()
static bool GzipValue(int compression_level, const HTTPValue &http_value, HTTPValue *compressed_value, ResponseHeaders *headers, MessageHandler *handler)
Definition: inflating_fetch.h:44