$resource = AmyRemoteProject::preview_resource($pars['url'], $pars['ticket'], $pars['path']);
            header('Content-Type: ' . $resource['content_type']);
            echo $resource['content'];
            exit;
        } catch (Exception $e) {
            $err_msg = $e->getMessage();
            self::raiseError("Project resource preview at `{$pars['path']}' could not been loaded due an error: `{$err_msg}'.");
        }
    }
    public function on_project_save_resource($pars = array())
    {
        try {
            self::setResult(AmyRemoteProject::save_resource($pars['url'], $pars['ticket'], $pars['path'], $pars['content']));
        } catch (Exception $e) {
            $err_msg = $e->getMessage();
            self::raiseError("Project resource at `{$pars['path']}' could not been saved due an error: `{$err_msg}'.");
        }
    }
}
// _______ end callback function
function end_amy_request()
{
    Db::close_connection();
}
// _______ launcher
try {
    $action = new AmyProjectManagerController($_AMY_CONF);
    $action->process($_REQUEST['a'], new AmyLogger(), 'end_amy_request');
} catch (Exception $e) {
    AmyProjectManagerController::raiseError($e->getMessage());
}