From 59df957181506c92401e7f4c986482f1c13c1eee Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 2 Nov 2017 01:42:04 +0100 Subject: [PATCH] Fix return HTTP code 501 if calling a non existing api --- htdocs/api/index.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/htdocs/api/index.php b/htdocs/api/index.php index a102ad67539..7bb062c03df 100644 --- a/htdocs/api/index.php +++ b/htdocs/api/index.php @@ -235,7 +235,13 @@ if (! empty($reg[1]) && ($reg[1] != 'explorer' || ($reg[2] != '/resources.json' if ($module == 'order') { $classname='Commande'; } //var_dump($classfile);var_dump($classname);exit; - require_once $dir_part_file; + $res = include_once $dir_part_file; + if (! $res) + { + print 'API not found (failed to include API file)'; + header('HTTP/1.1 501 API not found (failed to include API file)'); + exit(0); + } if (class_exists($classname.'Api')) $api->r->addAPIClass($classname.'Api', '/'); } else @@ -246,7 +252,14 @@ if (! empty($reg[1]) && ($reg[1] != 'explorer' || ($reg[2] != '/resources.json' $dir_part_file = dol_buildpath('/'.$moduledirforclass.'/class/api_'.$classfile.'.class.php'); $classname=ucwords($module); - require_once $dir_part_file; + $res = include_once $dir_part_file; + if (! $res) + { + print 'API not found (failed to include API file)'; + header('HTTP/1.1 501 API not found (failed to include API file)'); + exit(0); + } + if (class_exists($classname)) $api->r->addAPIClass($classname); } }