From ea82f0de1956d60456389f68e51050a72c4f3ce6 Mon Sep 17 00:00:00 2001 From: Jeff Kaufman Date: Mon, 2 Nov 2015 10:08:00 -0500 Subject: [PATCH] Support script variables in ShardDomain --- src/ngx_rewrite_options.cc | 3 ++- test/nginx_system_test.sh | 13 +++++++++++++ test/pagespeed_test.conf.template | 4 ++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/ngx_rewrite_options.cc b/src/ngx_rewrite_options.cc index 2cebb2c85..6a8000022 100644 --- a/src/ngx_rewrite_options.cc +++ b/src/ngx_rewrite_options.cc @@ -284,7 +284,8 @@ const char* NgxRewriteOptions::ParseAndSetOptions( !StringCaseEqual(directive, "DownstreamCachePurgeLocationPrefix") && !StringCaseEqual(directive, "DownstreamCachePurgeMethod") && !StringCaseEqual(directive, - "DownstreamCacheRewrittenPercentageThreshold")) { + "DownstreamCacheRewrittenPercentageThreshold") && + !StringCaseEqual(directive, "ShardDomain")){ compile_scripts = false; } diff --git a/test/nginx_system_test.sh b/test/nginx_system_test.sh index 841b062fc..264da35de 100644 --- a/test/nginx_system_test.sh +++ b/test/nginx_system_test.sh @@ -1150,6 +1150,19 @@ HEADERS="--header=Host:script-filters.example.com" OUT=$($WGET_DUMP -S $HEADERS $URL 2>&1) check_not_from "$OUT" fgrep -qi 'addInstrumentationInit' +start_test Test that we can modify domain sharding via script variables. +URL="http://$SECONDARY_HOSTNAME/mod_pagespeed_example/rewrite_images.html" +HEADERS="--header=Host:script-filters.example.com" +OUT=$($WGET_DUMP -S $HEADERS $URL 2>&1) +check_from "$OUT" fgrep "http://cdn1.example.com" +check_from "$OUT" fgrep "http://cdn2.example.com" + +URL="http://$SECONDARY_HOSTNAME/mod_pagespeed_example/rewrite_images.html" +HEADERS="--header=Host:script-filters.example.com --header=X-Script:1" +OUT=$($WGET_DUMP -S $HEADERS $URL 2>&1) +check_not_from "$OUT" fgrep "http://cdn1.example.com" +check_not_from "$OUT" fgrep "http://cdn2.example.com" + if [ "$NATIVE_FETCHER" != "on" ]; then start_test Test that we can rewrite an HTTPS resource. fetch_until $TEST_ROOT/https_fetch/https_fetch.html \ diff --git a/test/pagespeed_test.conf.template b/test/pagespeed_test.conf.template index 5989506a2..36acc8cd4 100644 --- a/test/pagespeed_test.conf.template +++ b/test/pagespeed_test.conf.template @@ -1252,11 +1252,15 @@ http { pagespeed FileCachePath "@@FILE_CACHE@@"; root "@@SERVER_ROOT@@"; set $filters ""; + set $domain_shards "cdn1.example.com,cdn2.example.com"; if ($http_X_Script) { set $filters "add_instrumentation"; + set $domain_shards ""; } pagespeed RewriteLevel PassThrough; + pagespeed EnableFilters rewrite_domains; pagespeed EnableFilters $filters; + pagespeed ShardDomain script-filters.example.com "$domain_shards"; } server {