本文整理汇总了PHP中SS_HTTPResponse::getHeaders方法的典型用法代码示例。如果您正苦于以下问题:PHP SS_HTTPResponse::getHeaders方法的具体用法?PHP SS_HTTPResponse::getHeaders怎么用?PHP SS_HTTPResponse::getHeaders使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SS_HTTPResponse
的用法示例。
在下文中一共展示了SS_HTTPResponse::getHeaders方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: respondWithError
public function respondWithError($args)
{
// Make args' keys lowercase
$args = array_combine(array_map('strtolower', array_keys($args)), array_values($args));
// See if an exception is passed (no default)
$exception = null;
if (isset($args['exception'])) {
$exception = $args['exception'];
}
// Get the default exception noun if set
$exceptionNoun = self::$exception_noun;
// Add defaults
$args = array_merge(array('code' => 500, 'description' => null, 'body' => null, 'noun' => $exception && $exceptionNoun ? new $exceptionNoun($exception) : null), $args);
// Default "response" which we build into. Not returned, because the exception has it's own response
$response = new SS_HTTPResponse();
// If there's a formatter
if ($args['noun'] && ($formatter = RESTFormatter::get_formatter($this->request))) {
// Format the response. Revert back to default response if we got nothing.
$response = $formatter->format($args['noun'], array('*'));
if (!$response) {
$response = new SS_HTTPResponse();
}
} else {
if ($exception) {
$exception = $args['exception'];
$response->setBody($exception->getMessage() . "\n");
$response->addHeader('Content-Type', 'text/plain');
}
}
// If a specific body was provided, use that
if ($args['body']) {
$response->setBody($args['body']);
}
// Build an exception with those details
$e = new SS_HTTPResponse_Exception($response->getBody(), $args['code'], $args['description']);
$exceptionResponse = $e->getResponse();
// Add user specified headers
foreach ($response->getHeaders() as $k => $v) {
$exceptionResponse->addHeader($k, $v);
}
throw $e;
}