Page Speed Optimization Libraries  1.7.30.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions
net_instaweb::UrlNamer Class Reference

#include "url_namer.h"

Inheritance diagram for net_instaweb::UrlNamer:
net_instaweb::ProxyUrlNamer net_instaweb::TestUrlNamer

List of all members.

Public Types

enum  EncodeOption { kSharded, kUnsharded }

Public Member Functions

virtual GoogleString Encode (const RewriteOptions *rewrite_options, const OutputResource &output_resource, EncodeOption encode_option) const
virtual bool Decode (const GoogleUrl &request_url, GoogleUrl *owner_domain, GoogleString *decoded) const
virtual bool IsAuthorized (const GoogleUrl &request_url, const RewriteOptions &options) const
virtual void ConfigureCustomOptions (const RequestHeaders &request_headers, RewriteOptions *options) const
 Configure custom options. Note that options may be NULL.
virtual bool ProxyMode () const
virtual bool IsProxyEncoded (const GoogleUrl &url) const
const GoogleString & proxy_domain () const
void set_proxy_domain (const GoogleString &proxy_domain)

Detailed Description

Provides an overridable URL naming interface. This isolation layer allows us to override the rules for converting the original URL of a rewritten resource to something other than the default. The default implementation performs sharding and adds to the leaf name: '.pagespeed.<filter>.<hash>.<extension>'


Member Function Documentation

virtual bool net_instaweb::UrlNamer::Decode ( const GoogleUrl &  request_url,
GoogleUrl *  owner_domain,
GoogleString *  decoded 
) const [virtual]

Given the request_url, generate the original url. If the URL naming syntax supports an "owner" domain, and 'owner_domain' is non-null, then this method writes the owner domain into that pointer.

Returns 'false' if request_url was not encoded via this namer.

Note: the default implementation always returns false.

Reimplemented in net_instaweb::ProxyUrlNamer, and net_instaweb::TestUrlNamer.

virtual GoogleString net_instaweb::UrlNamer::Encode ( const RewriteOptions rewrite_options,
const OutputResource output_resource,
EncodeOption  encode_option 
) const [virtual]

Given an output resource and an optional set of options, generate the URL that will be embedded in the rewritten page.

encode_options is used to determine whether sharding is applied in this encoding.

Note: the default implementation returns the url of the output resource.

Reimplemented in net_instaweb::TestUrlNamer.

virtual bool net_instaweb::UrlNamer::IsAuthorized ( const GoogleUrl &  request_url,
const RewriteOptions options 
) const [virtual]

Determines whether the provided request URL is authorized given the RewriteOptions.

The default implementation uses the domain lawyer in the options.

Reimplemented in net_instaweb::ProxyUrlNamer.

virtual bool net_instaweb::UrlNamer::IsProxyEncoded ( const GoogleUrl &  url) const [inline, virtual]

Determines whether the specified URL has been mapped to that central proxy domain.

Reimplemented in net_instaweb::TestUrlNamer.

virtual bool net_instaweb::UrlNamer::ProxyMode ( ) const [inline, virtual]

Determines whether the naming policy incorporates proxying resources using a central proxy domain.

Reimplemented in net_instaweb::TestUrlNamer.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines