Page Speed Optimization Libraries  1.9.32.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
net_instaweb::FileRewriter Class Reference

#include "static_rewriter.h"

Inheritance diagram for net_instaweb::FileRewriter:
net_instaweb::RewriteDriverFactory

Public Member Functions

 FileRewriter (const ProcessContext &process_context, const RewriteGflags *gflags, bool echo_errors_to_stdout)
 
virtual Hasher * NewHasher ()
 
virtual UrlAsyncFetcherDefaultAsyncUrlFetcher ()
 
virtual MessageHandler * DefaultHtmlParseMessageHandler ()
 
virtual MessageHandler * DefaultMessageHandler ()
 
virtual FileSystem * DefaultFileSystem ()
 
virtual void SetupCaches (ServerContext *server_context)
 
virtual Statistics * statistics ()
 
virtual ServerContextNewServerContext ()
 
virtual ServerContextNewDecodingServerContext ()
 
virtual bool UseBeaconResultsInFilters () const
 
- Public Member Functions inherited from net_instaweb::RewriteDriverFactory
 RewriteDriverFactory (const ProcessContext &process_context, ThreadSystem *thread_system)
 Takes ownership of thread_system.
 
void InitializeDefaultOptions ()
 
void set_html_parse_message_handler (MessageHandler *message_handler)
 
void set_message_handler (MessageHandler *message_handler)
 
void set_file_system (FileSystem *file_system)
 
void set_hasher (Hasher *hasher)
 
void set_nonce_generator (NonceGenerator *nonce_generator)
 
void set_url_namer (UrlNamer *url_namer)
 
void set_signature (SHA1Signature *signature)
 
void set_timer (Timer *timer)
 
void set_usage_data_reporter (UsageDataReporter *reporter)
 
void set_slurp_directory (const StringPiece &directory)
 
void set_slurp_read_only (bool read_only)
 
void set_slurp_print_urls (bool read_only)
 
void set_force_caching (bool u)
 
void set_base_url_async_fetcher (UrlAsyncFetcher *url_fetcher)
 
void set_base_distributed_async_fetcher (UrlAsyncFetcher *distributed_fetcher)
 Takes ownership of distributed_fetcher.
 
bool set_filename_prefix (StringPiece p)
 
bool slurping_enabled () const
 Determines whether Slurping is enabled.
 
MessageHandler * html_parse_message_handler ()
 
MessageHandler * message_handler ()
 
FileSystem * file_system ()
 
NonceGenerator * nonce_generator ()
 
Hasher * hasher ()
 
UrlNamerurl_namer ()
 
UserAgentMatcher * user_agent_matcher ()
 
StaticAssetManagerstatic_asset_manager ()
 
SHA1Signature * signature ()
 
RewriteOptionsdefault_options ()
 
virtual RewriteOptionsManagerNewRewriteOptionsManager ()
 
Timer * timer ()
 
NamedLockManager * lock_manager ()
 
QueuedWorkerPool * WorkerPool (WorkerPoolCategory pool)
 
Scheduler * scheduler ()
 
UsageDataReporterusage_data_reporter ()
 
const
pagespeed::js::JsTokenizerPatterns * 
js_tokenizer_patterns () const
 
const std::vector< const
UserAgentNormalizer * > & 
user_agent_normalizers ()
 
virtual UrlAsyncFetcherComputeUrlAsyncFetcher ()
 
virtual UrlAsyncFetcherComputeDistributedFetcher ()
 
ServerContextCreateServerContext ()
 
void InitServerContext (ServerContext *server_context)
 
virtual void AddPlatformSpecificRewritePasses (RewriteDriver *driver)
 
virtual void AddPlatformSpecificDecodingPasses (RewriteDriver *driver)
 
virtual void ApplyPlatformSpecificConfiguration (RewriteDriver *driver)
 
ThreadSystem * thread_system ()
 
const StringSet & created_directories () const
 
bool async_rewrites ()
 
RewriteStatsrewrite_stats ()
 
Statistics * statistics ()
 
void SetStatistics (Statistics *stats)
 Does not take ownership of Statistics.
 
virtual void ShutDown ()
 
void AddCreatedDirectory (const GoogleString &dir)
 Registers the directory as having been created by us.
 
virtual RewriteOptionsNewRewriteOptions ()
 
virtual RewriteOptionsNewRewriteOptionsForQuery ()
 
const GoogleString & version_string () const
 get/set the version placed into the X-[Mod-]Page(s|-S)peed header.
 
void set_version_string (const StringPiece &version_string)
 
void defer_cleanup (Function *f)
 
template<class T >
void TakeOwnership (T *obj)
 
virtual bool IsDebugClient (const GoogleString &ip) const
 Base method that returns true if the given ip is a debug ip.
 
virtual ExperimentMatcherNewExperimentMatcher ()
 
const std::vector< int > * preferred_webp_qualities ()
 Returns the preferred webp image quality vector for client options.
 
const std::vector< int > * preferred_jpeg_qualities ()
 Returns the preferred jpeg image quality vector for client options.
 
bool SetPreferredWebpQualities (const StringPiece &qualities)
 Returns true if the correct number of WebP qualities are parsed and set.
 
bool SetPreferredJpegQualities (const StringPiece &qualities)
 Returns true if the correct number of JPEG qualities are parsed and set.
 

Additional Inherited Members

- Public Types inherited from net_instaweb::RewriteDriverFactory
enum  WorkerPoolCategory { kHtmlWorkers, kRewriteWorkers, kLowPriorityRewriteWorkers, kNumWorkerPools }
 
- Static Public Member Functions inherited from net_instaweb::RewriteDriverFactory
static void InitStats (Statistics *statistics)
 
static void Initialize ()
 Initializes static variables. Initialize/Terminate calls must be paired.
 
static void Terminate ()
 
- Protected Member Functions inherited from net_instaweb::RewriteDriverFactory
bool FetchersComputed () const
 
virtual void StopCacheActivity ()
 
StringPiece filename_prefix ()
 
bool TerminateServerContext (ServerContext *server_context)
 
virtual NonceGenerator * DefaultNonceGenerator ()
 
virtual Timer * DefaultTimer ()
 
virtual SHA1Signature * DefaultSignature ()
 
virtual UrlAsyncFetcherDefaultDistributedUrlFetcher ()
 
virtual CriticalCssFinderDefaultCriticalCssFinder ()
 
virtual CriticalImagesFinderDefaultCriticalImagesFinder (ServerContext *server_context)
 
virtual CriticalSelectorFinderDefaultCriticalSelectorFinder (ServerContext *server_context)
 
virtual CacheHtmlInfoFinderDefaultCacheHtmlInfoFinder (PropertyCache *cache, ServerContext *server_context)
 Default implementation returns NULL.
 
virtual FlushEarlyInfoFinderDefaultFlushEarlyInfoFinder ()
 Default implementation returns NULL.
 
virtual CriticalLineInfoFinderDefaultCriticalLineInfoFinder (ServerContext *server_context)
 Default implementation returns a valid CriticalSelectorFinder.
 
virtual NamedLockManager * DefaultLockManager ()
 
virtual UrlNamerDefaultUrlNamer ()
 
virtual UserAgentMatcher * DefaultUserAgentMatcher ()
 
virtual UsageDataReporterDefaultUsageDataReporter ()
 
virtual void AddPlatformSpecificUserAgentNormalizers (std::vector< const UserAgentNormalizer * > *out)
 
virtual QueuedWorkerPool * CreateWorkerPool (WorkerPoolCategory pool, StringPiece name)
 
virtual int LowPriorityLoadSheddingThreshold () const
 
virtual Scheduler * CreateScheduler ()
 
virtual void FetcherSetupHooks ()
 Called before creating the url fetchers.
 
virtual StringPiece LockFilePrefix ()
 
virtual void InitStaticAssetManager (StaticAssetManager *static_asset_manager)
 Initializes the StaticAssetManager.
 
void InitStubDecodingServerContext (ServerContext *context)
 
void RebuildDecodingDriverForTests (ServerContext *server_context)
 For use in tests.
 

Detailed Description

Implements a baseline RewriteDriverFactory with the simplest possible options for cache, fetchers, & system interface.

Todo:
TODO(jmarantz): fill out enough functionality so that this will be a functional static rewriter that could optimize an HTML file passed as a command-line parameter or via stdin.

Member Function Documentation

virtual UrlAsyncFetcher* net_instaweb::FileRewriter::DefaultAsyncUrlFetcher ( )
virtual

Implementors of RewriteDriverFactory must supply default definitions for each of these methods, although they may be overridden via set_ methods above. These methods all instantiate objects and transfer ownership to the caller.

Implements net_instaweb::RewriteDriverFactory.

virtual ServerContext* net_instaweb::FileRewriter::NewDecodingServerContext ( )
virtual

Create a new ServerContext used for decoding only. Unlike NewServerContext, the resulting ServerContext should not be fresh, but should have some of its platform dependencies injected — but just enough for decoding URLs, and not full operation. At the time of writing it needs the timer, url namer, hasher, message handler, and stats; expensive stuff like cache backends is not needed, however.

You may find InitStubDecodingServerContext() useful for doing that, as it will inject all of these from what's available in 'this'.

Implements net_instaweb::RewriteDriverFactory.

virtual ServerContext* net_instaweb::FileRewriter::NewServerContext ( )
virtual

Creates a new ServerContext* object. ServerContext itself must be overridden per Factory as it has at least one pure virtual method.

Implements net_instaweb::RewriteDriverFactory.

virtual void net_instaweb::FileRewriter::SetupCaches ( ServerContext server_context)
virtual

Called from InitServerContext, but virtualized separately as it is platform-specific. This method must call on the server context: set_http_cache, set_metadata_cache, set_filesystem_metadata_cache, and MakePropertyCaches.

Implements net_instaweb::RewriteDriverFactory.

virtual bool net_instaweb::FileRewriter::UseBeaconResultsInFilters ( ) const
inlinevirtual

Returns true if this platform uses beacon-based measurements to make run-time decisions. This is used to determine how to configure various beacon-based filters.

Implements net_instaweb::RewriteDriverFactory.


The documentation for this class was generated from the following file: