Updating rest base endpoit support to -> /api/<version>/<workspace>/<resource.>/...

This commit is contained in:
Erik Amaru Ortiz
2013-09-19 16:11:58 -04:00
parent 6349d74aee
commit 49aba0106a
2 changed files with 22 additions and 12 deletions

View File

@@ -677,11 +677,17 @@ class Bootstrap
$args = self::parseNormalUri($aRequestUri); $args = self::parseNormalUri($aRequestUri);
} }
if (! empty($args)) {
define("SYS_LANG", $args ['SYS_LANG']); define("SYS_LANG", $args ['SYS_LANG']);
define('SYS_SKIN', $args ['SYS_SKIN']); define('SYS_SKIN', $args ['SYS_SKIN']);
define('SYS_COLLECTION', $args ['SYS_COLLECTION']); define('SYS_COLLECTION', $args ['SYS_COLLECTION']);
define('SYS_TARGET', $args ['SYS_TARGET']); define('SYS_TARGET', $args ['SYS_TARGET']);
if (array_key_exists('API_VERSION', $args)) {
define('API_VERSION', $args['API_VERSION']);
}
}
if ($args ['SYS_COLLECTION'] == 'js2') { if ($args ['SYS_COLLECTION'] == 'js2') {
print "ERROR"; print "ERROR";
die(); die();
@@ -1046,8 +1052,9 @@ class Bootstrap
* @param string $apiClassesPath * @param string $apiClassesPath
* @internal param string $url Contains the url request * @internal param string $url Contains the url request
*/ */
public function dispatchApiService($uri, $config, $apiClassesPath = '') public function dispatchApiService($uri, $version = '1.0')
{ {
$dataUri = explode('/', $uri); $dataUri = explode('/', $uri);
array_shift($dataUri); array_shift($dataUri);
$reqClass = ucfirst(array_shift($dataUri)); $reqClass = ucfirst(array_shift($dataUri));
@@ -1065,7 +1072,7 @@ class Bootstrap
require_once $servicesDir . 'oauth2/Server.php'; require_once $servicesDir . 'oauth2/Server.php';
$rest = new Luracast\Restler\Restler(); $rest = new Luracast\Restler\Restler();
$rest->setAPIVersion('1.0'); $rest->setAPIVersion($version);
$rest->addAuthenticationClass('Api\\OAuth2\\Server', ''); $rest->addAuthenticationClass('Api\\OAuth2\\Server', '');
@@ -2326,13 +2333,13 @@ class Bootstrap
array_shift($url); array_shift($url);
$sysTemp = array_shift($url); $sysTemp = array_shift($url);
if ($sysTemp == 'api') { if ($sysTemp != 'api') {
$sysTemp = array_shift($url); return array();
} elseif (strpos($sysTemp, '-') !== false) {
list($sysTemp,) = explode('-', $sysTemp);
} }
$args = array(); $apiVersion = array_shift($url);
$sysTemp = array_shift($url);
define('SYS_TEMP', $sysTemp); define('SYS_TEMP', $sysTemp);
$restUri = ''; $restUri = '';
@@ -2340,10 +2347,12 @@ class Bootstrap
$restUri .= '/' . $urlPart; $restUri .= '/' . $urlPart;
} }
$args = array();
$args['SYS_LANG'] = 'en'; // TODO, this can be set from http header $args['SYS_LANG'] = 'en'; // TODO, this can be set from http header
$args['SYS_SKIN'] = ''; $args['SYS_SKIN'] = '';
$args['SYS_COLLECTION'] = ''; $args['SYS_COLLECTION'] = '';
$args['SYS_TARGET'] = $restUri; $args['SYS_TARGET'] = $restUri;
$args['API_VERSION'] = $apiVersion;
return $args; return $args;
} }

View File

@@ -1007,7 +1007,8 @@ try {
$restConfig = array(); $restConfig = array();
//NewRelic Snippet - By JHL //NewRelic Snippet - By JHL
//transactionLog($restConfig.PATH_DATA_SITE.SYS_TARGET); // ====> ??? this concat is very rare //transactionLog($restConfig.PATH_DATA_SITE.SYS_TARGET); // ====> ??? this concat is very rare
Bootstrap::dispatchApiService(SYS_TARGET, $restConfig, PATH_DATA_SITE);
Bootstrap::dispatchApiService(SYS_TARGET, API_VERSION);
} else { } else {
//NewRelic Snippet - By JHL //NewRelic Snippet - By JHL
transactionLog($phpFile); transactionLog($phpFile);