From b87ffce5babaf9b6d11d6df950208ea67b95f791 Mon Sep 17 00:00:00 2001 From: Jeff Kaufman Date: Tue, 22 Apr 2014 17:46:51 -0400 Subject: [PATCH] trunk-tracking: port r3945 which made the location of static assets configurable --- src/ngx_pagespeed.cc | 8 ++++---- src/ngx_rewrite_driver_factory.cc | 9 --------- src/ngx_rewrite_driver_factory.h | 6 ------ test/nginx_system_test.sh | 8 ++++---- 4 files changed, 8 insertions(+), 23 deletions(-) diff --git a/src/ngx_pagespeed.cc b/src/ngx_pagespeed.cc index a73cdc53d..eea59542d 100644 --- a/src/ngx_pagespeed.cc +++ b/src/ngx_pagespeed.cc @@ -1606,8 +1606,9 @@ RequestRouting::Response ps_route_request(ngx_http_request_t* r, if (is_pagespeed_subrequest(r)) { return RequestRouting::kPagespeedSubrequest; - } else if (url.PathSansLeaf() == - NgxRewriteDriverFactory::kStaticAssetPrefix) { + } else if ( + url.PathSansLeaf() == dynamic_cast( + cfg_s->server_context->factory())->static_asset_prefix()) { return RequestRouting::kStaticContent; } @@ -2408,8 +2409,7 @@ ngx_int_t ps_simple_handler(ngx_http_request_t* r, case RequestRouting::kStaticContent: { StringPiece file_contents; if (!server_context->static_asset_manager()->GetAsset( - request_uri_path.substr( - strlen(NgxRewriteDriverFactory::kStaticAssetPrefix)), + request_uri_path.substr(factory->static_asset_prefix().length()), &file_contents, &content_type, &cache_control)) { return NGX_DECLINED; } diff --git a/src/ngx_rewrite_driver_factory.cc b/src/ngx_rewrite_driver_factory.cc index a7e1efa4c..6c0450176 100644 --- a/src/ngx_rewrite_driver_factory.cc +++ b/src/ngx_rewrite_driver_factory.cc @@ -33,7 +33,6 @@ #include "net/instaweb/rewriter/public/rewrite_driver.h" #include "net/instaweb/rewriter/public/rewrite_driver_factory.h" #include "net/instaweb/rewriter/public/server_context.h" -#include "net/instaweb/rewriter/public/static_asset_manager.h" #include "net/instaweb/system/public/in_place_resource_recorder.h" #include "net/instaweb/system/public/serf_url_async_fetcher.h" #include "net/instaweb/system/public/system_caches.h" @@ -63,9 +62,6 @@ class UrlAsyncFetcher; class UrlFetcher; class Writer; -const char NgxRewriteDriverFactory::kStaticAssetPrefix[] = - "/ngx_pagespeed_static/"; - class SharedCircularBuffer; NgxRewriteDriverFactory::NgxRewriteDriverFactory( @@ -151,11 +147,6 @@ RewriteOptions* NgxRewriteDriverFactory::NewRewriteOptions() { return options; } -void NgxRewriteDriverFactory::InitStaticAssetManager( - StaticAssetManager* static_asset_manager) { - static_asset_manager->set_library_url_prefix(kStaticAssetPrefix); -} - bool NgxRewriteDriverFactory::InitNgxUrlAsyncFetchers() { log_ = ngx_cycle->log; for (size_t i = 0; i < ngx_url_async_fetchers_.size(); ++i) { diff --git a/src/ngx_rewrite_driver_factory.h b/src/ngx_rewrite_driver_factory.h index bfab5f6f4..95a80ba8b 100644 --- a/src/ngx_rewrite_driver_factory.h +++ b/src/ngx_rewrite_driver_factory.h @@ -45,14 +45,11 @@ class NgxUrlAsyncFetcher; class SharedCircularBuffer; class SharedMemRefererStatistics; class SlowWorker; -class StaticAssetManager; class Statistics; class SystemThreadSystem; class NgxRewriteDriverFactory : public SystemRewriteDriverFactory { public: - static const char kStaticAssetPrefix[]; - // We take ownership of the thread system. explicit NgxRewriteDriverFactory( const ProcessContext& process_context, @@ -68,9 +65,6 @@ class NgxRewriteDriverFactory : public SystemRewriteDriverFactory { // Create a new RewriteOptions. In this implementation it will be an // NgxRewriteOptions. virtual RewriteOptions* NewRewriteOptions(); - // Initializes the StaticAssetManager. - virtual void InitStaticAssetManager( - StaticAssetManager* static_asset_manager); virtual ServerContext* NewDecodingServerContext(); bool InitNgxUrlAsyncFetchers(); // Check resolver configured or not. diff --git a/test/nginx_system_test.sh b/test/nginx_system_test.sh index f427cb4f6..3b50ca3d0 100755 --- a/test/nginx_system_test.sh +++ b/test/nginx_system_test.sh @@ -259,7 +259,7 @@ if [ ! -e "$SYSTEM_TEST_FILE" ] ; then exit 2 fi -PSA_JS_LIBRARY_URL_PREFIX="ngx_pagespeed_static" +PSA_JS_LIBRARY_URL_PREFIX="pagespeed_static" # An expected failure can be indicated like: "~In-place resource optimization~" PAGESPEED_EXPECTED_FAILURES=" @@ -2150,7 +2150,7 @@ keepalive_test "keepalive-beacon-post.example.com" "/ngx_pagespeed_beacon"\ start_test keepalive with static resources keepalive_test "keepalive-static.example.com"\ - "/ngx_pagespeed_static/js_defer.0.js" "" + "/pagespeed_static/js_defer.0.js" "" # Test for MaxCombinedCssBytes. The html used in the test, 'combine_css.html', # has 4 CSS files in the following order. @@ -2185,7 +2185,7 @@ CONNECTION=$(extract_headers $FETCH_UNTIL_OUTFILE | fgrep "Connection:") check_not_from "$CONNECTION" fgrep -qi "Keep-Alive, Keep-Alive" check_from "$CONNECTION" fgrep -qi "Keep-Alive" -start_test ngx_pagespeed_static defer js served with correct headers. +start_test pagespeed_static defer js served with correct headers. # First, determine which hash js_defer is served with. We need a correct hash # to get it served up with an Etag, which is one of the things we want to test. URL="$HOSTNAME/mod_pagespeed_example/defer_javascript.html?PageSpeed=on&PageSpeedFilters=defer_javascript" @@ -2342,7 +2342,7 @@ test_decent_browsers "New Opera" \ WGETRC=$OLD_WGETRC WGET_ARGS="" -JS_URL="$HOSTNAME/ngx_pagespeed_static/js_defer.$HASH.js" +JS_URL="$HOSTNAME/pagespeed_static/js_defer.$HASH.js" JS_HEADERS=$($WGET -O /dev/null -q -S --header='Accept-Encoding: gzip' \ $JS_URL 2>&1) check_from "$JS_HEADERS" egrep -qi 'HTTP/1[.]. 200 OK'