HTTPS hits were never marked as cacheable, because
getFullRequestURL() (https://...) was being compared to
getSquidURLs() (which are all http://...).
Instead, expand the request URL with PROTO_INTERNAL and
use that for the comparison.
Bug: T89673
Change-Id: I3402820613bc6839fa2e2d053ddffcbf1b17ddb5
if ( $action instanceof Action ) {
# Let Squid cache things if we can purge them.
if ( $this->config->get( 'UseSquid' ) &&
- in_array( $request->getFullRequestURL(), $requestTitle->getSquidURLs() )
+ in_array(
+ // Use PROTO_INTERNAL because that's what getSquidURLs() uses
+ wfExpandUrl( $request->getRequestURL(), PROTO_INTERNAL ),
+ $requestTitle->getSquidURLs()
+ )
) {
$output->setSquidMaxage( $this->config->get( 'SquidMaxage' ) );
}