Esempio n. 1
0
    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();