<?php
define("AMFPHP_BASE", realpath(dirname(dirname(dirname(__FILE__)))) . "/");
require_once(AMFPHP_BASE . "shared/app/BasicGateway.php");
require_once(AMFPHP_BASE . "shared/util/MessageBody.php");
require_once(AMFPHP_BASE . "shared/util/functions.php");
require_once(AMFPHP_BASE . "json/app/Actions.php");
class Gateway extends BasicGateway
{
function createBody()
{
$GLOBALS['amfphp']['encoding'] = 'json';
$body = & new MessageBody();
$uri = __setUri();
$elements = explode('/json.php', $uri);
if(strlen($elements[1]) == 0)
{
echo("The JSON gateway is installed correctly. Call like this: json.php/MyClazz.myMethod/arg1/arg2");
exit();
}
$args = substr($elements[1], 1);
$rawArgs = explode('/', $args);
if(isset($GLOBALS['HTTP_RAW_POST_DATA']))
{
$rawArgs[] = $GLOBALS['HTTP_RAW_POST_DATA'];
}
$body->setValue($rawArgs);
return $body;
}
/**
* Create the chain of actions
*/
function registerActionChain()
{
$this->actions['deserialization'] = 'deserializationAction';
$this->actions['classLoader'] = 'classLoaderAction';
$this->actions['security'] = 'securityAction';
$this->actions['exec'] = 'executionAction';
$this->actions['serialization'] = 'serializationAction';
}
}
?>