// isLoggedIn() will do all sorts of weird stuff.
if (
$request->getProtocol() == 'http' &&
+ // switch to HTTPS only when supported by the server
+ preg_match( '#^https://#', wfExpandUrl( $request->getRequestURL(), PROTO_HTTPS ) ) &&
(
$request->getSession()->shouldForceHTTPS() ||
// Check the cookie manually, for paranoia
// Assure deferred updates are not in the main transaction
wfGetLBFactory()->commitMasterChanges( __METHOD__ );
- // Ignore things like master queries/connections on GET requests
- // as long as they are in deferred updates (which catch errors).
- Profiler::instance()->getTransactionProfiler()->resetExpectations();
+ // Loosen DB query expectations since the HTTP client is unblocked
+ $trxProfiler = Profiler::instance()->getTransactionProfiler();
+ $trxProfiler->resetExpectations();
+ $trxProfiler->setExpectations(
+ $this->config->get( 'TrxProfilerLimits' )['PostSend'],
+ __METHOD__
+ );
// Do any deferred jobs
DeferredUpdates::doUpdates( 'enqueue' );