]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
moved rest/rpc web services handler into web_services library
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sun, 28 Nov 2010 13:41:56 +0000 (13:41 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sun, 28 Nov 2010 13:41:56 +0000 (13:41 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7460 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/web_services.php
services/api/rest_api.php [deleted file]

index b9c87843e19c8b09021dcb61ad31586ee9ed4313..e529711e1154822353fd2c73d095c82e6e05fb9b 100644 (file)
@@ -1342,8 +1342,6 @@ function unregister_service_handler($handler) {
        }
 }
 
-// REST handler
-
 /**
  * REST API handler
  *
@@ -1352,10 +1350,52 @@ function unregister_service_handler($handler) {
 function rest_handler() {
        global $CONFIG;
 
-       require $CONFIG->path . "services/api/rest_api.php";
+       // Register the error handler
+       error_reporting(E_ALL);
+       set_error_handler('_php_api_error_handler');
+
+       // Register a default exception handler
+       set_exception_handler('_php_api_exception_handler');
+
+       // Check to see if the api is available
+       if ((isset($CONFIG->disable_api)) && ($CONFIG->disable_api == true)) {
+               throw new SecurityException(elgg_echo('SecurityException:APIAccessDenied'));
+       }
+
+       // plugins should return true to control what API and user authentication handlers are registered
+       if (elgg_trigger_plugin_hook('rest', 'init', null, false) == false) {
+               // for testing from a web browser, you can use the session PAM
+               // do not use for production sites!!
+               //register_pam_handler('pam_auth_session');
+
+               // user token can also be used for user authentication
+               register_pam_handler('pam_auth_usertoken');
+
+               // simple API key check
+               register_pam_handler('api_auth_key', "sufficient", "api");
+               // hmac
+               register_pam_handler('api_auth_hmac', "sufficient", "api");
+       }
+
+       // Get parameter variables
+       $method = get_input('method');
+       $result = null;
+
+       // this will throw an exception if authentication fails
+       authenticate_method($method);
+
+       $result = execute_method($method);
+
+
+       if (!($result instanceof GenericResult)) {
+               throw new APIException(elgg_echo('APIException:ApiResultUnknown'));
+       }
+
+       // Output the result
+       echo elgg_view_page($method, elgg_view("api/output", array("result" => $result)));
 }
 
-// Initialisation
+// Initialization
 
 /**
  * Unit tests for API
diff --git a/services/api/rest_api.php b/services/api/rest_api.php
deleted file mode 100644 (file)
index 4cee374..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-/**
- * Rest endpoint.
- * The API REST endpoint.
- *
- * @package Elgg
- * @subpackage API
- */
-
-/**
- *  Start the Elgg engine
- */
-require_once("../../engine/start.php");
-global $CONFIG;
-
-// Register the error handler
-error_reporting(E_ALL);
-set_error_handler('_php_api_error_handler');
-
-// Register a default exception handler
-set_exception_handler('_php_api_exception_handler');
-
-// Check to see if the api is available
-if ((isset($CONFIG->disable_api)) && ($CONFIG->disable_api == true)) {
-       throw new SecurityException(elgg_echo('SecurityException:APIAccessDenied'));
-}
-
-// plugins should return true to control what API and user authentication handlers are registered
-if (elgg_trigger_plugin_hook('rest', 'init', null, false) == false) {
-       // for testing from a web browser, you can use the session PAM
-       // do not use for production sites!!
-       //register_pam_handler('pam_auth_session');
-
-       // user token can also be used for user authentication
-       register_pam_handler('pam_auth_usertoken');
-
-       // simple API key check
-       register_pam_handler('api_auth_key', "sufficient", "api");
-       // hmac
-       register_pam_handler('api_auth_hmac', "sufficient", "api");
-}
-
-// Get parameter variables
-$method = get_input('method');
-$result = null;
-
-// this will throw an exception if authentication fails
-authenticate_method($method);
-
-$result = execute_method($method);
-
-
-if (!($result instanceof GenericResult)) {
-       throw new APIException(elgg_echo('APIException:ApiResultUnknown'));
-}
-
-// Output the result
-echo elgg_view_page($method, elgg_view("api/output", array("result" => $result)));
\ No newline at end of file