本文整理汇总了PHP中Zend_Controller_Response_Http::getHttpResponseCode方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Controller_Response_Http::getHttpResponseCode方法的具体用法?PHP Zend_Controller_Response_Http::getHttpResponseCode怎么用?PHP Zend_Controller_Response_Http::getHttpResponseCode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Controller_Response_Http
的用法示例。
在下文中一共展示了Zend_Controller_Response_Http::getHttpResponseCode方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testPreDispatchNonWhitelistedActionViaAjaxRequest
public function testPreDispatchNonWhitelistedActionViaAjaxRequest()
{
$this->request->setHeader('X_REQUESTED_WITH', 'XMLHttpRequest')->setModuleName('default')->setControllerName('foo')->setActionName('home');
$this->plugin->preDispatch($this->request);
$this->assertEquals(500, $this->response->getHttpResponseCode());
$this->assertEquals(json_encode(array('redirect' => '/user/login')), $this->response->getBody());
}
示例2: run
/**
* Runs the request, handling from routing straight through to response output.
* Primary method to be used by the external API.
*
* @return string|null Returns a string if {@link $_sendResponse} is false
*/
public function run()
{
ob_start();
XenForo_Application::set('fc', $this);
$this->setup();
$this->setRequestPaths();
$showDebugOutput = $this->showDebugOutput();
$this->_dependencies->preLoadData();
XenForo_CodeEvent::fire('front_controller_pre_route', array($this));
$routeMatch = $this->route();
XenForo_CodeEvent::fire('front_controller_pre_dispatch', array($this, &$routeMatch));
$controllerResponse = $this->dispatch($routeMatch);
if (!$controllerResponse) {
XenForo_Error::noControllerResponse($routeMatch, $this->_request);
exit;
}
$viewRenderer = $this->_getViewRenderer($routeMatch->getResponseType());
if (!$viewRenderer) {
// note: should only happen if there's an error getting the default renderer, which should never happen :)
XenForo_Error::noViewRenderer($this->_request);
exit;
}
$containerParams = array('majorSection' => $routeMatch->getMajorSection(), 'minorSection' => $routeMatch->getMinorSection());
XenForo_CodeEvent::fire('front_controller_pre_view', array($this, &$controllerResponse, &$viewRenderer, &$containerParams));
$content = $this->renderView($controllerResponse, $viewRenderer, $containerParams);
if ($showDebugOutput) {
$content = $this->renderDebugOutput($content);
}
$bufferedContents = ob_get_contents();
ob_end_clean();
if ($bufferedContents !== '' && is_string($content)) {
if (preg_match('#<body[^>]*>#sU', $content, $match)) {
$content = str_replace($match[0], $match[0] . $bufferedContents, $content);
} else {
$content = $bufferedContents . $content;
}
}
XenForo_CodeEvent::fire('front_controller_post_view', array($this, &$content));
if ($this->_sendResponse) {
$headers = $this->_response->getHeaders();
$isText = false;
foreach ($headers as $header) {
if ($header['name'] == 'Content-Type') {
if (strpos($header['value'], 'text/') === 0) {
$isText = true;
}
break;
}
}
if ($isText && is_string($content) && $content) {
$extraHeaders = XenForo_Application::gzipContentIfSupported($content);
foreach ($extraHeaders as $extraHeader) {
$this->_response->setHeader($extraHeader[0], $extraHeader[1], $extraHeader[2]);
}
}
if (is_string($content) && $content && !ob_get_level() && XenForo_Application::get('config')->enableContentLength) {
if ($this->_response->getHttpResponseCode() >= 400 && strpos($this->_request->getServer('HTTP_USER_AGENT', ''), 'IEMobile') !== false) {
// Windows mobile bug - 400+ errors cause the standard browser error
// to be output if a content length is sent. ...Err, what?
} else {
$this->_response->setHeader('Content-Length', strlen($content), true);
}
}
$this->_response->sendHeaders();
if ($content instanceof XenForo_FileOutput) {
$content->output();
} else {
echo $content;
}
} else {
return $content;
}
}
示例3: testSetGotoUrlWithHttpCodeUsingCodeOption
public function testSetGotoUrlWithHttpCodeUsingCodeOption()
{
$this->redirector->setGotoUrl('/foo/bar', array('code' => 301));
$this->assertEquals('/foo/bar', $this->redirector->getRedirectUrl());
$this->assertEquals(301, $this->response->getHttpResponseCode());
}
示例4: run
public function run(Zend_Controller_Response_Abstract $response = null)
{
$args = array($this);
$this->runCallback(self::CB_BEFORE_RUN, $args);
if ($response === null) {
$response = new Zend_Controller_Response_Http();
}
$this->response = $response;
$action = $this->getCurrentAction();
$this->request->setActionName($action);
ob_start();
$this->actionRun($action);
if ($this->response->isRedirect() && $this->completeRequest->isXmlHttpRequest()) {
$url = null;
foreach ($response->getHeaders() as $header) {
if ($header['name'] == 'Location') {
$url = $header['value'];
}
}
$code = $response->getHttpResponseCode();
// change request to ajax response
$response->clearAllHeaders();
$response->clearBody();
$response->setHttpResponseCode(200);
$response->setHeader("Content-Type", "application/json; charset=UTF-8", true);
$response->setBody(Am_Controller::getJson(array('ngrid-redirect' => $url, 'status' => $code)));
//throw new Am_Exception_Redirect($url);
} else {
$response->appendBody(ob_get_clean());
}
unset($this->response);
return $response;
}
示例5: hasCode
/**
* Asserts that the response returns the provided HTTP code.
*
* @param integer $expected The HTTP code.
*/
public function hasCode($expected)
{
$message = 'Unexpected response code.';
PHPUnit_Framework_Assert::assertEquals($expected, $this->response->getHttpResponseCode(), $message);
}
示例6: processResponse
/**
* Process response body by specific request
*
* @param Zend_Controller_Response_Http $response response
* @param Zend_Controller_Request_Http $request request
*
* @return Smile_MageCache_Model_Engine_Default
*/
public function processResponse(Zend_Controller_Response_Http $response, Zend_Controller_Request_Http $request)
{
/*
* Check request and response.
* Note: Deal only with 200 for the moment
*/
if ($this->canProcessRequest($request) && $response->getHttpResponseCode() == 200) {
$cacheId = $this->getRequestCacheId();
$content = $response->getBody();
if (function_exists('gzcompress')) {
$content = gzcompress($content);
}
$res = $this->_adapter->save($content, $cacheId, $this->getRequestTags());
$this->setMetadata('response_headers', $response->getHeaders());
$this->_saveMetadata();
}
return $this;
}