1<?php 2// This file is part of Moodle - http://moodle.org/ 3// 4// Moodle is free software: you can redistribute it and/or modify 5// it under the terms of the GNU General Public License as published by 6// the Free Software Foundation, either version 3 of the License, or 7// (at your option) any later version. 8// 9// Moodle is distributed in the hope that it will be useful, 10// but WITHOUT ANY WARRANTY; without even the implied warranty of 11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12// GNU General Public License for more details. 13// 14// You should have received a copy of the GNU General Public License 15// along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 18/** 19 * REST web service entry point. The authentication is done via tokens. 20 * 21 * @package webservice_rest 22 * @copyright 2009 Jerome Mouneyrac 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 */ 25 26/** 27 * NO_DEBUG_DISPLAY - disable moodle specific debug messages and any errors in output 28 */ 29define('NO_DEBUG_DISPLAY', true); 30 31define('WS_SERVER', true); 32 33require('../../config.php'); 34require_once("$CFG->dirroot/webservice/rest/locallib.php"); 35 36if (!webservice_protocol_is_enabled('rest')) { 37 header("HTTP/1.0 403 Forbidden"); 38 debugging('The server died because the web services or the REST protocol are not enable', 39 DEBUG_DEVELOPER); 40 die; 41} 42 43$server = new webservice_rest_server(WEBSERVICE_AUTHMETHOD_PERMANENT_TOKEN); 44$server->run(); 45die; 46 47/** 48 * Raises Early WS Exception in REST format. 49 * 50 * @param Exception $ex Raised exception. 51 */ 52function raise_early_ws_exception(Exception $ex): void { 53 global $CFG; 54 require_once("$CFG->dirroot/webservice/rest/locallib.php"); 55 $server = new webservice_rest_server(WEBSERVICE_AUTHMETHOD_PERMANENT_TOKEN); 56 $server->set_rest_format(); 57 $server->exception_handler($ex); 58} 59