Merge pull request #214 from pagespeed/jefftk-try-files-loopback

Don't try to optimize loopback fetches
This commit is contained in:
Jeff Kaufman
2013-04-04 07:24:38 -07:00
2 changed files with 27 additions and 0 deletions
+15
View File
@@ -322,6 +322,7 @@ enum Response {
kBeacon,
kStatistics,
kMessages,
kPagespeedSubrequest,
};
} // namespace CreateRequestContext
@@ -1217,6 +1218,14 @@ bool ps_apply_x_forwarded_proto(ngx_http_request_t* r, GoogleString* url) {
return true;
}
bool is_pagespeed_subrequest(ngx_http_request_t* r) {
ngx_table_elt_t* user_agent_header = r->headers_in.user_agent;
if (user_agent_header == NULL) {
return false;
}
StringPiece user_agent = str_to_string_piece(user_agent_header->value);
return (user_agent.find(kModPagespeedSubrequestUserAgent) != user_agent.npos);
}
// Set us up for processing a request.
CreateRequestContext::Response ps_create_request_context(
@@ -1234,6 +1243,10 @@ CreateRequestContext::Response ps_create_request_context(
return CreateRequestContext::kInvalidUrl;
}
if (is_pagespeed_subrequest(r)) {
return CreateRequestContext::kPagespeedSubrequest;
}
if (is_resource_fetch && !cfg_s->server_context->IsPagespeedResource(url)) {
if (url.PathSansLeaf() ==
net_instaweb::NgxRewriteDriverFactory::kStaticAssetPrefix) {
@@ -1659,6 +1672,7 @@ ngx_int_t ps_header_filter(ngx_http_request_t* r) {
case CreateRequestContext::kInvalidUrl:
case CreateRequestContext::kStatistics:
case CreateRequestContext::kMessages:
case CreateRequestContext::kPagespeedSubrequest:
return ngx_http_next_header_filter(r);
case CreateRequestContext::kOk:
break;
@@ -2065,6 +2079,7 @@ ngx_int_t ps_content_handler(ngx_http_request_t* r) {
case CreateRequestContext::kNotUnderstood:
case CreateRequestContext::kPagespeedDisabled:
case CreateRequestContext::kInvalidUrl:
case CreateRequestContext::kPagespeedSubrequest:
return NGX_DECLINED;
case CreateRequestContext::kBeacon:
return ps_beacon_handler(r);
+12
View File
@@ -66,6 +66,18 @@ http {
pagespeed EnableFilters inline_css;
}
server {
listen @@SECONDARY_PORT@@;
server_name tryfiles.example.com;
pagespeed FileCachePath "@@FILE_CACHE@@";
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { }
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
try_files $uri $uri/ /mod_pagespeed_example/index.html;
}
server {
listen @@PRIMARY_PORT@@;
server_name localhost;