* Adds IPRO tests that we should have copied from apache_system_test.sh back
when we first added IPRO.
* The "IPRO-optimized resources should have fixed size, not chunked" test
fails. The problem is as it says: IPRO optimized resources are being sent
out with `Transfer-Encoding: Chunked` instead of `Content-Length: ...`. How
do we fix this?
* install/system_test.sh moved to net/instaweb/automatic/system_test.sh
* minor method signature changes
* url.is_valid() is gone, replaced by .IsWebValid()
* I pushed Otto's #464 upstream, and now we need to make some IPRO changes.
* beacons have nonces now, so we need to update tests.
Get rid of net_instaweb:: everywhere. By eliminating the ngx_psol namespace we
can stop prefixing everything in ngx_pagespeed.cc with net_instaweb::
Fix other minor style issues.
Remove unnecessary declarations.
Rename ps_create_request_context to ps_route_request and CreateRequestContext to
RequestRouting because it no longer creates the request context.
As of r3447 ServerContext::ChildInit is now in system/, which means we can
delete a lot of code.
DangerFetchFromUnknownHosts and FetchWithGzip are now handled by RewriteOptions.
ServerContext now needs a hostname and port, but we don't have one so we
hackishly provide a different unique id.
X-Cache handling is not needed because the pagespeed server never gets to see
a request with X-Cache header added by its downstream cache. X-Cache headers
are only to be added in responses served out of the downstream cache for debugging
purposes only. This piece of deleted code was also conflicting with X-Cache
headers present on upstream caches (wrt pagespeed) and hence not optimizing responses
that happened to carry this header.
(More details are present in https://github.com/pagespeed/ngx_pagespeed/issues/488)
* Remove PopulateRequestHeaders() and PopulateResponseHeaders().
* Set stop copying request headers to the base fetch twice.
* This fixes a dcheck failure in the debug build.
Adjust for fetchers and options that moved from apache/ to system/ in r3390.
Use AllocateFetcher() hook from r3402 to put the native fetcher into the fetcher
map maintained by the SystemRewriteDriverFactory.
SystemRewriteDriverFactory was expanded by r3366 to do a lot of what
NgxRewriteDriverFactory used to have to do. Take advantage of this and
simplifiy our code.
After more testing, it turns out that the timer that is initially set
in Init() remains active throughout the whole lifetime of the fetch.
This reverts the previous change, which isn't correct, and replaces
all TODO's concerning timers with a comment about that we don't need
them.
Fixes https://github.com/pagespeed/ngx_pagespeed/issues/466
Squash-merge of chaizhenhua's work over many pull requests, especially #450.
The copy of in_place_resource_recorder.cc is temporary and can be removed after
the next PSOL release.