19 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_FAKE_FILTER_H_
20 #define NET_INSTAWEB_REWRITER_PUBLIC_FAKE_FILTER_H_
28 #include "pagespeed/kernel/base/basictypes.h"
29 #include "pagespeed/kernel/base/string.h"
30 #include "pagespeed/kernel/http/semantic_type.h"
32 namespace net_instaweb {
35 class ResourceContext;
49 ResourceContext* resource_context)
55 const OutputResourcePtr& output);
57 virtual void DoRewriteSingle(
58 const ResourcePtr input, OutputResourcePtr output);
60 const ResourceContext* resource_context)
const;
62 virtual const char*
id()
const {
return filter_->id(); }
67 DISALLOW_COPY_AND_ASSIGN(
Context);
71 semantic_type::Category category)
74 exceed_deadline_(false),
77 output_content_type_(NULL),
78 num_calls_to_encode_user_agent_(0),
79 category_(category) {}
81 virtual ~FakeFilter();
84 virtual void EndElementImpl(HtmlElement* element) {}
85 virtual void StartElementImpl(HtmlElement* element);
90 const ResourceSlotPtr& slot);
94 ResourceContext* resource_context) {
97 int num_rewrites()
const {
return num_rewrites_; }
98 int num_encode_user_agent()
const {
return num_calls_to_encode_user_agent_; }
100 void set_enabled(
bool x) { enabled_ = x; }
101 bool enabled() {
return enabled_; }
102 bool exceed_deadline() {
return exceed_deadline_; }
103 void set_exceed_deadline(
bool x) { exceed_deadline_ = x; }
104 void IncRewrites() { ++num_rewrites_; }
105 void set_output_content_type(
const ContentType* type) {
106 output_content_type_ = type;
108 const ContentType* output_content_type() {
return output_content_type_; }
110 ResourceContext* context)
const;
113 virtual const char* id()
const {
return id_; }
115 virtual const char* Name()
const {
return "MockFilter"; }
120 bool exceed_deadline_;
123 const ContentType* output_content_type_;
124 mutable int num_calls_to_encode_user_agent_;
125 semantic_type::Category category_;
RewriteContext * parent()
Allows a nested rewriter to walk up its parent hierarchy.
Definition: rewrite_context.h:266
virtual void EncodeUserAgentIntoResourceContext(ResourceContext *context) const
SingleRewriteContext(RewriteDriver *driver, RewriteContext *parent, ResourceContext *resource_context)
virtual const char * id() const
Returns the filter ID.
Definition: fake_filter.h:62
virtual bool ComputeOnTheFly() const
Definition: fake_filter.h:116
virtual void StartDocumentImpl()
Definition: fake_filter.h:83
virtual RewriteContext * MakeFakeContext(RewriteDriver *driver, RewriteContext *parent, ResourceContext *resource_context)
Factory for context so a subclass can override FakeFilter::Context.
Definition: fake_filter.h:92
Definition: fake_filter.h:44
Definition: rewrite_filter.h:37
Definition: rewrite_driver.h:98
void RewriteSingle(const ResourcePtr &input, const OutputResourcePtr &output)
Subclasses of SingleRewriteContext must override this:
virtual OutputResourceKind kind() const
Definition: fake_filter.h:63
Definition: rewrite_context.h:144
derived from some input resource URL or URLs.
Definition: output_resource_kind.h:27
Definition: single_rewrite_context.h:36
Definition: fake_filter.h:46
GoogleString UserAgentCacheKey(const ResourceContext *resource_context) const
virtual RewriteContext * MakeNestedRewriteContext(RewriteContext *parent, const ResourceSlotPtr &slot)
virtual RewriteContext * MakeRewriteContext()
Definition: fake_filter.h:86
OutputResourceKind
Definition: output_resource_kind.h:26