/** * Write an entire @{class:AphrontResponse} to the output. * * @param AphrontResponse The response object to write. * @return void */ public final function writeResponse(AphrontResponse $response) { // Do this first, in case it throws. $response_string = $response->buildResponseString(); $all_headers = array_merge($response->getHeaders(), $response->getCacheHeaders()); $this->writeHTTPStatus($response->getHTTPResponseCode(), $response->getHTTPResponseMessage()); $this->writeHeaders($all_headers); $this->writeData($response_string); }
public function willSendResponse(AphrontResponse $response) { $request = $this->getRequest(); $response->setRequest($request); if ($response instanceof AphrontDialogResponse) { if (!$request->isAjax()) { $view = new PhabricatorStandardPageView(); $view->setRequest($request); $view->appendChild('<div style="padding: 2em 0;">' . $response->buildResponseString() . '</div>'); $response = new AphrontWebpageResponse(); $response->setContent($view->render()); return $response; } else { return id(new AphrontAjaxResponse())->setContent(array('dialog' => $response->buildResponseString())); } } else { if ($response instanceof AphrontRedirectResponse) { if ($request->isAjax()) { return id(new AphrontAjaxResponse())->setContent(array('redirect' => $response->getURI())); } } else { if ($response instanceof Aphront404Response) { $failure = new AphrontRequestFailureView(); $failure->setHeader('404 Not Found'); $failure->appendChild('<p>The page you requested was not found.</p>'); $view = new PhabricatorStandardPageView(); $view->setTitle('404 Not Found'); $view->setRequest($this->getRequest()); $view->appendChild($failure); $response = new AphrontWebpageResponse(); $response->setContent($view->render()); $response->setHTTPResponseCode(404); return $response; } } } return $response; }
public function willSendResponse(AphrontResponse $response) { $request = $this->getRequest(); if ($response instanceof AphrontDialogResponse) { if (!$request->isAjax() && !$request->isQuicksand()) { $dialog = $response->getDialog(); $title = $dialog->getTitle(); $short = $dialog->getShortTitle(); $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb(coalesce($short, $title)); $page_content = array($crumbs, $response->buildResponseString()); $view = id(new PhabricatorStandardPageView())->setRequest($request)->setController($this)->setDeviceReady(true)->setTitle($title)->appendChild($page_content); $response = id(new AphrontWebpageResponse())->setContent($view->render())->setHTTPResponseCode($response->getHTTPResponseCode()); } else { $response->getDialog()->setIsStandalone(true); return id(new AphrontAjaxResponse())->setContent(array('dialog' => $response->buildResponseString())); } } else { if ($response instanceof AphrontRedirectResponse) { if ($request->isAjax() || $request->isQuicksand()) { return id(new AphrontAjaxResponse())->setContent(array('redirect' => $response->getURI())); } } } return $response; }
public function willSendResponse(AphrontResponse $response) { $request = $this->getRequest(); $response->setRequest($request); if ($response instanceof AphrontDialogResponse) { if (!$request->isAjax()) { $view = new PhabricatorStandardPageView(); $view->setRequest($request); $view->appendChild('<div style="padding: 2em 0;">' . $response->buildResponseString() . '</div>'); $response = new AphrontWebpageResponse(); $response->setContent($view->render()); return $response; } else { return id(new AphrontAjaxResponse())->setContent(array('dialog' => $response->buildResponseString())); } } else { if ($response instanceof AphrontRedirectResponse) { if ($request->isAjax()) { return id(new AphrontAjaxResponse())->setContent(array('redirect' => $response->getURI())); } } } return $response; }
/** * Write an entire @{class:AphrontResponse} to the output. * * @param AphrontResponse The response object to write. * @return void */ public final function writeResponse(AphrontResponse $response) { $all_headers = array_merge($response->getHeaders(), $response->getCacheHeaders()); $this->writeHTTPStatus($response->getHTTPResponseCode()); $this->writeHeaders($all_headers); $this->writeData($response->buildResponseString()); }