53 lines
938 B
PHP
Executable File
53 lines
938 B
PHP
Executable File
<?php
|
|
|
|
namespace Vn\Rest;
|
|
|
|
require_once ('vn/rest/reply.php');
|
|
require_once ('vn/rest/encoding.php');
|
|
require_once ('vn/rest/message.php');
|
|
|
|
/**
|
|
* Manages the REST service.
|
|
*
|
|
* @property Reply $reply The reply
|
|
**/
|
|
class Service
|
|
{
|
|
private static $reply = NULL;
|
|
static $encoding = Encoding::JSON;
|
|
|
|
static function init ()
|
|
{
|
|
self::$reply = new Reply ();
|
|
}
|
|
|
|
static function setData ($data)
|
|
{
|
|
self::$reply->data = $data;
|
|
}
|
|
|
|
static function addWarning ($domain, $code, $message)
|
|
{
|
|
if (!isset (self::$reply->warnings))
|
|
self::$reply->warnings = [];
|
|
|
|
self::$reply->warnings[] =
|
|
new Message ($domain, $code, $message);
|
|
}
|
|
|
|
static function setError ($domain, $code, $message)
|
|
{
|
|
self::$reply->data = NULL;
|
|
self::$reply->error =
|
|
new Message ($domain, $code, $message);
|
|
}
|
|
|
|
static function sendReply ()
|
|
{
|
|
header ('Content-Type: application/json; charset=UTF-8');
|
|
echo json_encode (self::$reply);
|
|
}
|
|
}
|
|
|
|
?>
|