Transaction::setAttribute(Transaction::PARAM_CONTROLLER, $wgRequest->getVal('controller')); Transaction::setAttribute(Transaction::PARAM_METHOD, $wgRequest->getVal('method')); } if (function_exists('newrelic_disable_autorum')) { newrelic_disable_autorum(); } if (!empty($wgEnableNirvanaAPI)) { // temporarily force ApiDocs extension regardless of config require_once $IP . "/extensions/wikia/ApiDocs/ApiDocs.setup.php"; // same for JsonFormat require_once $IP . "/extensions/wikia/JsonFormat/JsonFormat.setup.php"; $app = F::app(); // Ensure that we have a title stub, otherwise parser does not work BugId: 12901 $app->wg->title = Wikia::createTitleFromRequest($app->wg->Request); // support "mcache" URL parameter to ease debugging Wikia::setUpMemcachePurge($app->wg->Request, $app->wg->User); // initialize skin if requested $app->initSkin((bool) $app->wg->Request->getVal("skin", false)); $response = $app->sendRequest(null, null, null, false); // commit any open transactions just in case the controller forgot to $app->commit(); //if cache policy wasn't explicitly set (e.g. WikiaResponse::setCacheValidity) //then force no cache to reflect api.php default behavior $cacheControl = $response->getHeader('Cache-Control'); if (empty($cacheControl)) { $response->setHeader('Cache-Control', 'private', true); Wikia\Logger\WikiaLogger::instance()->info('wikia-php.caching-disabled', ['controller' => $response->getControllerName(), 'method' => $response->getMethodName()]); } $response->sendHeaders(); wfRunHooks('NirvanaAfterRespond', [$app, $response]); $response->render();