configuration: prepare to parse options

Set up the background code for connecting pagespeed configuration structures
(RewriteOptions) to the companion nginx ones.  Passes all the actual work
through to NgxRewriteOptions::ParseAndSetOptions which isn't written yet.
(All it does so far is interpret "pagespeed on/off".)

Adding nginx subclasses of RewriteOptions and ServerContext are a bit overkill
for this change, but we're going to need them a lot.

Once configuration is complete, any mod_pagespeed configuration directive should
work in ngx_pagespeed:

    mod_pagespeed.conf:
      ModPagespeedEnableFilters collapse_whitespace
      ModPagespeedRunExperiment on
      ModPagespeedExperimentSpec id=3;percent=50;default
      ModPagespeedExperimentSpec id=4;percent=50

    ngx_pagespeed.conf:
      pagespeed ModPagespeedEnableFilters collapse_whitespace
      pagespeed ModPagespeedRunExperiment on;
      pagespeed ModPagespeedExperimentSpec "id=3;percent=50;default";
      pagespeed ModPagespeedExperimentSpec "id=4;percent=50";

The `ModPagespeed` is optional, and discouraged:

    ngx_pagespeed.conf:
      pagespeed EnableFilters collapse_whitespace
      pagespeed RunExperiment on;
      pagespeed ExperimentSpec "id=3;percent=50;default";
      pagespeed ExperimentSpec "id=4;percent=50";
This commit is contained in:
Jeff Kaufman
2012-11-13 10:26:41 -05:00
parent 57a0f1f6ee
commit aeb0de0e77
9 changed files with 406 additions and 20 deletions
+2
View File
@@ -62,6 +62,8 @@ if [ $ngx_found = yes ]; then
ngx_addon_name=ngx_pagespeed
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ps_src/ngx_pagespeed.cc"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ps_src/ngx_rewrite_driver_factory.cc"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ps_src/ngx_rewrite_options.cc"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ps_src/ngx_server_context.cc"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ps_src/ngx_base_fetch.cc"
HTTP_AUX_FILTER_MODULES="$HTTP_AUX_FILTER_MODULES $ngx_addon_name"
CORE_LIBS="$CORE_LIBS