コード例 #1
0
ファイル: VndError.php プロジェクト: ramsey/vnderror
 /**
  * {@inheritdoc}
  */
 public function getData()
 {
     $data = parent::getData();
     if (!isset($data['message'])) {
         $data['message'] = $this->message;
     }
     if ($this->logref !== null && !isset($data['@logref'])) {
         $data['@logref'] = $this->logref;
     }
     return $data;
 }
コード例 #2
0
 /**
  * @param Hal  $hal
  * @param bool $isRoot
  *
  * @return array
  */
 protected function flattenHal(Hal $hal, $isRoot = true)
 {
     $data = $hal->getData();
     foreach ($hal->getResources() as $name => $items) {
         $data[$name] = [];
         foreach ($items as $item) {
             $data[$name][] = $this->flattenHal($item);
         }
     }
     return $data;
 }
コード例 #3
0
ファイル: Rest.php プロジェクト: jaeger-app/rest-server
 /**
  * Returns the data for output and sets the appropriate headers
  * @param \Nocarrier\Hal $hal
  * @return string
  */
 public function renderOutput(\Nocarrier\Hal $hal)
 {
     $this->sendHeaders();
     if ($this->getSystemErrors()) {
         $system_errors = array();
         foreach ($this->getSystemErrors() as $key => $value) {
             $system_errors[$key] = $this->m62Lang($key);
         }
         $hal->setData($hal->getData() + array('_system_errors' => $system_errors));
     }
     if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos(strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'xml') !== false) {
         header('Content-Type: application/hal+xml');
         return $hal->asXml(true);
     } else {
         header('Content-Type: application/hal+json');
         return $hal->asJson(true);
     }
 }
コード例 #4
0
ファイル: VndErrorResponse.php プロジェクト: jsor/stack-hal
 public static function fromException(\Exception $exception, $prettyPrint = true, $debug = false)
 {
     $statusCode = self::extractStatus($exception);
     $headers = self::extractHeaders($exception);
     $message = self::extractMessage($exception, $debug);
     if ($exception instanceof HalException) {
         $hal = $exception->getHal();
     } else {
         $hal = new Hal(null, ['message' => $message]);
     }
     $data = $hal->getData();
     if (!isset($data['message']) || '' === $data['message']) {
         if ($message) {
             $data['message'] = $message;
         } elseif (isset(Response::$statusTexts[$statusCode])) {
             $data['message'] = Response::$statusTexts[$statusCode];
         }
         $hal->setData($data);
     }
     return new static($hal, $statusCode, $headers, $prettyPrint);
 }
コード例 #5
0
ファイル: Resource.php プロジェクト: mt-olympus/hermes
 public function __construct(Hal $resource)
 {
     $this->hal = $resource;
     $this->setPaginator($resource->getData());
 }
コード例 #6
0
ファイル: Resource.php プロジェクト: asylgrp/workbench
 /**
  * Get loaded data (including messages)
  *
  * @return array
  */
 public function getData()
 {
     $data = parent::getData();
     $data['_messages'] = $this->messages;
     return $data;
 }