当前位置: 首页>>代码示例>>PHP>>正文


PHP AphrontWebpageResponse::setHTTPResponseCode方法代码示例

本文整理汇总了PHP中AphrontWebpageResponse::setHTTPResponseCode方法的典型用法代码示例。如果您正苦于以下问题:PHP AphrontWebpageResponse::setHTTPResponseCode方法的具体用法?PHP AphrontWebpageResponse::setHTTPResponseCode怎么用?PHP AphrontWebpageResponse::setHTTPResponseCode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AphrontWebpageResponse的用法示例。


在下文中一共展示了AphrontWebpageResponse::setHTTPResponseCode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: willSendResponse

 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;
 }
开发者ID:hunterbridges,项目名称:phabricator,代码行数:38,代码来源:AphrontDefaultApplicationConfiguration.php

示例2: handleException

 public function handleException(Exception $ex)
 {
     $request = $this->getRequest();
     // For Conduit requests, return a Conduit response.
     if ($request->isConduit()) {
         $response = new ConduitAPIResponse();
         $response->setErrorCode(get_class($ex));
         $response->setErrorInfo($ex->getMessage());
         return id(new AphrontJSONResponse())->setAddJSONShield(false)->setContent($response->toDictionary());
     }
     // For non-workflow requests, return a Ajax response.
     if ($request->isAjax() && !$request->isWorkflow()) {
         // Log these; they don't get shown on the client and can be difficult
         // to debug.
         phlog($ex);
         $response = new AphrontAjaxResponse();
         $response->setError(array('code' => get_class($ex), 'info' => $ex->getMessage()));
         return $response;
     }
     $user = $request->getUser();
     if (!$user) {
         // If we hit an exception very early, we won't have a user.
         $user = new PhabricatorUser();
     }
     if ($ex instanceof PhabricatorSystemActionRateLimitException) {
         $dialog = id(new AphrontDialogView())->setTitle(pht('Slow Down!'))->setUser($user)->setErrors(array(pht('You are being rate limited.')))->appendParagraph($ex->getMessage())->appendParagraph($ex->getRateExplanation())->addCancelButton('/', pht('Okaaaaaaaaaaaaaay...'));
         $response = new AphrontDialogResponse();
         $response->setDialog($dialog);
         return $response;
     }
     if ($ex instanceof PhabricatorAuthHighSecurityRequiredException) {
         $form = id(new PhabricatorAuthSessionEngine())->renderHighSecurityForm($ex->getFactors(), $ex->getFactorValidationResults(), $user, $request);
         $dialog = id(new AphrontDialogView())->setUser($user)->setTitle(pht('Entering High Security'))->setShortTitle(pht('Security Checkpoint'))->setWidth(AphrontDialogView::WIDTH_FORM)->addHiddenInput(AphrontRequest::TYPE_HISEC, true)->setErrors(array(pht('You are taking an action which requires you to enter ' . 'high security.')))->appendParagraph(pht('High security mode helps protect your account from security ' . 'threats, like session theft or someone messing with your stuff ' . 'while you\'re grabbing a coffee. To enter high security mode, ' . 'confirm your credentials.'))->appendChild($form->buildLayoutView())->appendParagraph(pht('Your account will remain in high security mode for a short ' . 'period of time. When you are finished taking sensitive ' . 'actions, you should leave high security.'))->setSubmitURI($request->getPath())->addCancelButton($ex->getCancelURI())->addSubmitButton(pht('Enter High Security'));
         $request_parameters = $request->getPassthroughRequestParameters($respect_quicksand = true);
         foreach ($request_parameters as $key => $value) {
             $dialog->addHiddenInput($key, $value);
         }
         $response = new AphrontDialogResponse();
         $response->setDialog($dialog);
         return $response;
     }
     if ($ex instanceof PhabricatorPolicyException) {
         if (!$user->isLoggedIn()) {
             // If the user isn't logged in, just give them a login form. This is
             // probably a generally more useful response than a policy dialog that
             // they have to click through to get a login form.
             //
             // Possibly we should add a header here like "you need to login to see
             // the thing you are trying to look at".
             $login_controller = new PhabricatorAuthStartController();
             $login_controller->setRequest($request);
             $auth_app_class = 'PhabricatorAuthApplication';
             $auth_app = PhabricatorApplication::getByClass($auth_app_class);
             $login_controller->setCurrentApplication($auth_app);
             return $login_controller->handleRequest($request);
         }
         $content = array(phutil_tag('div', array('class' => 'aphront-policy-rejection'), $ex->getRejection()));
         $list = null;
         if ($ex->getCapabilityName()) {
             $list = $ex->getMoreInfo();
             foreach ($list as $key => $item) {
                 $list[$key] = $item;
             }
             $content[] = phutil_tag('div', array('class' => 'aphront-capability-details'), pht('Users with the "%s" capability:', $ex->getCapabilityName()));
         }
         $dialog = id(new AphrontDialogView())->setTitle($ex->getTitle())->setClass('aphront-access-dialog')->setUser($user)->appendChild($content);
         if ($list) {
             $dialog->appendList($list);
         }
         if ($this->getRequest()->isAjax()) {
             $dialog->addCancelButton('/', pht('Close'));
         } else {
             $dialog->addCancelButton('/', pht('OK'));
         }
         $response = new AphrontDialogResponse();
         $response->setDialog($dialog);
         return $response;
     }
     if ($ex instanceof AphrontUsageException) {
         $error = new PHUIInfoView();
         $error->setTitle($ex->getTitle());
         $error->appendChild($ex->getMessage());
         $view = new PhabricatorStandardPageView();
         $view->setRequest($this->getRequest());
         $view->appendChild($error);
         $response = new AphrontWebpageResponse();
         $response->setContent($view->render());
         $response->setHTTPResponseCode(500);
         return $response;
     }
     // Always log the unhandled exception.
     phlog($ex);
     $class = get_class($ex);
     $message = $ex->getMessage();
     if ($ex instanceof AphrontSchemaQueryException) {
         $message .= "\n\n" . pht("NOTE: This usually indicates that the MySQL schema has not been " . "properly upgraded. Run '%s' to ensure your schema is up to date.", 'bin/storage upgrade');
     }
     if (PhabricatorEnv::getEnvConfig('phabricator.developer-mode')) {
         $trace = id(new AphrontStackTraceView())->setUser($user)->setTrace($ex->getTrace());
     } else {
//.........这里部分代码省略.........
开发者ID:fengshao0907,项目名称:phabricator,代码行数:101,代码来源:AphrontDefaultApplicationConfiguration.php


注:本文中的AphrontWebpageResponse::setHTTPResponseCode方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。